CN104871172B - 用于连接的设备的编配框架 - Google Patents

用于连接的设备的编配框架 Download PDF

Info

Publication number
CN104871172B
CN104871172B CN201380063467.4A CN201380063467A CN104871172B CN 104871172 B CN104871172 B CN 104871172B CN 201380063467 A CN201380063467 A CN 201380063467A CN 104871172 B CN104871172 B CN 104871172B
Authority
CN
China
Prior art keywords
application program
operator scheme
computing device
equipment
managed
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
CN201380063467.4A
Other languages
English (en)
Other versions
CN104871172A (zh
Inventor
A·博齐克基
玛丽克哈尔尤娜·雷迪·德瓦
乌代·南迪盖姆·加金达尔
A·罗伊乔迪里
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 CN104871172A publication Critical patent/CN104871172A/zh
Application granted granted Critical
Publication of CN104871172B publication Critical patent/CN104871172B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0025Transmission of mode-switching indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • 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/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

本文所述的方面允许多个设备充当一致整体,从而允许每个设备承担彼此互补的不同功能。本文所述的方面还允许在以下情况下设备充当一致整体:当互连设备和它们相应的应用程序被配置成以各种操作模式操作时,当采用管理策略来控制互连设备和它们相应的应用程序的操作时,当在互连设备之间传送内容并将内容存储在那些设备处时,当获取使得设备能够访问企业资源的用于互连设备的访问凭证时,当策略代理应用管理策略来控制互连设备的操作和互连设备之间的交互时,以及当互联设备用于访问企业应用商店时。

Description

用于连接的设备的编配框架
相关申请的交叉引用
本专利申请要求名称为“Coordinating a Computing Activity AcrossApplications and Devices Having Multiple Operation Modes in an OrchestrationFramework for Connected Devices”且提交于2013年8月9日的第13/963,739号美国专利申请的优先权,该美国专利申请第13/963,739号要求以下专利申请的权益:名称为“Frictionless Distributive and Collaborative Work Across Time and Space”且提交于2012年10月12日的第61/712,948号美国临时性专利申请,名称为“Mobile Work andMicro Work Using an Activity Interface”且提交于2012年10月12日的第61/712,953号美国临时性专利申请,名称为“Multi-Device Interaction”且提交于2012年10月12日的第61/712,956号美国临时性专利申请,名称为“Orchestration Framework for ConnectedDevices”且提交于2012年10月12日的第61/712,962号美国临时性专利申请,名称为“Managing Dynamic Policies and Settings for Mobile Applications”且提交于2012年10月15日的第61/713,715号美国临时性专利申请,名称为“Secure Data Sharing AmongManaged Applications”且提交于2012年10月15日的第61/713,718号美国临时性专利申请,名称为“Conveying Data Between Secure Applications Running on an ElectronicMobile Device”且提交于2012年10月15日的第61/713,762号美国临时性专利申请,名称为“Managing Encrypted File Vaults for Managed Applications on an UnmanagedDevice”且提交于2012年10月16日的第61/714,293号美国临时性专利申请,名称为“Policy-Based Control of a Managed Application Derived from an UnmanagedApplication”且提交于2012年10月16日的第61/714,469号美国临时性专利申请,名称为“Systems and Methods for Enterprise Mobility Management”且提交于2013年3月29日的第61/806,577号美国临时性专利申请,名称为“Multi-Device Interaction”且提交于2013年5月16日的第61/824,204号美国临时性专利申请,以及名称为“OrchestrationFramework for Connected Devices”且提交于2013年8月1日的第61/861,199号美国临时性专利申请,以上专利申请中的每个通过引用以其整体并入本文。
本专利申请还与以下专利申请和专利有关:名称为“Sharing Content AcrossApplications and Devices Having Multiple Operation Modes in an OrchestrationFramework for Connected Devices”且提交于2013年8月9日的第13/963,758号美国专利申请,名称为“Managing Dynamic Policies and Settings in an OrchestrationFramework for Connected Devices”且提交于2013年8月9日的第13/963,794号美国专利申请,名称为“Controlling Device Access to Enterprise Resources in anOrchestration Framework for Connected Devices”且提交于2013年8月9日的第13/963,811号美国专利申请,名称为“Single Sign-On Access in an Orchestration Frameworkfor Connected Devices”且提交于2013年8月9日的第13/963,825号美国专利申请,名称为“Application Management Framework for Secure Data Sharing in an OrchestrationFramework for Connected Devices”且提交于2013年8月9日的第13/963,833号美国专利申请,名称为“Enterprise Application Store for an Orchestration Framework forConnected Devices”且提交于2013年8月9日的第13/963,851号美国专利申请,名称为“Application with Multiple Operation Modes”且提交于2013年5月3日的第13/886,889号美国专利申请,名称为“Gateway for Controlling Mobile Device Access toEnterprise Resources”且提交于2012年10月10日的第13/649,076号美国专利申请,于2010年8月31日公布的Qureshi等人的名称为“Automated Detection of SoftwareProblems in Software Application Deployments”的美国专利申请,名称为“SecureAccess to Resources Using a Proxy”且提交于2013年5月3日的第13/886,845号美国专利申请,名称为“Implementing Single Sign-On Across a Heterogeneous Collectionof Client/Server and Web-Based Applications”且提交于2009年2月20日的第12/390,110号美国专利申请,名称为“Authenticating a Client Using Linked AuthenticationCredentials”且提交于2009年10月7日的第12/575,121号美国专利申请,名称为“Methodand System for a Heterogeneous Computer Network System with UnobtrusiveCross-Platform User Access”且于2004年1月20日公布的Bradford等人的第6,681,330号美国专利,以及名称为“Single Sign-On(SSO)Mechanism Personal Key Manager”且于2001年6月5日发布的Fang等人的第6,243,816号美国专利,上述专利申请和专利中的每个通过引用以其整体并入本文。
技术领域
本发明涉及用于连接的设备的编配框架。
背景技术
传统来讲,个人计算机包括操作系统、应用程序和用于单一用户的用户设置。个人计算机一般由它们的拥有者使用和管理。然而,现在许多机构使用虚拟化、远程访问和/或计算资源云来满足它们的计算需求。虚拟化计算资源的云通常允许多个用户的操作系统、应用程序和用户设置包括在单一物理机上。桌面虚拟化技术允许多个操作系统实例保持独立,从而一个用户的活动不影响其他用户的体验。云计算环境允许云操作员所拥有的计算机由云操作员来管理但由云使用者来使用,该云使用者可以是云操作员的客户。
虚拟机客户端代理是一种应用程序,该应用程序甚至当所述“远程”资源位于用户可能在使用的物理机上时允许向用户提供对企业应用、桌面和数据的一种类型的虚拟化远程访问。每个客户端代理可与中央企业服务器通信,该中央企业服务器列出哪些应用和其他资源已被用户选择,以及哪些应用和其他资源可供用户选择或请求。
随着虚拟化变得日益普及且更具成本效益,出现了本文所述的方面解决的新的问题。例如,目前我们处于PC时代,并且正从单设备转换到多设备世界。这通常涉及至少4种屏幕-智能电话、平板电脑、全功能笔记本电脑/台式计算机、以及大型室内安装显示器。这些设备中的每个可独立运行软件,诸如网页浏览器、会议软件(诸如佛罗里达州的劳德代尔堡的思杰系统(Citrix Systems)公司开发的)、以及个人信息管理器(PIM软件)、和文件/生产力软件。但是,这些设备中的每个独立运行,几乎未察觉其他设备。目前,出现在设备之间的大多数连接通常包括从一个设备向另一个设备镜反射屏幕。这种情况的典型示例包括在大型室内安装的显示器上显示笔记本电脑屏幕,或将平板电脑/智能电话显示器显示到笔记本电脑上,其从而获得在大型室内安装显示器上的显示。
发明内容
下文呈现本文所述各种方面的简单概要。该概要并不是广义的综述,亦非旨在确定权利要求的关键或重要单元或描绘权利要求的范围。下面的概要仅仅呈现简化形式的一些概念,作为对下面提供的更详细描述的介绍性前奏。
为克服上述现有技术中的限制,并克服在阅读和理解本说明书时将变得明显的其他限制,本文所述方面涉及用于以协调的方式管理互连设备之间的交互的编配框架。
本文所述的第一方面提供一种用于在用于连接的设备的编配框架中管理应用程序和具有多个操作模式的设备的操作的方法。计算设备可通过编配框架互连,其中编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作。可接收请求,该请求为将内容从第一计算设备处的第一应用程序传送到第二计算设备处的第二应用程序,并且可以做出确定是否要开始传送内容。该确定可基于应用程序的操作模式,所述操作模式可包括受管操作模式和非受管操作模式。
本文所述的第二方面提供一种用于基于计算设备的操作模式来管理计算设备之间的交互的装置。设备可包括一个或多个处理器和具有计算机可读指令的存储器。计算机可读指令的存储器在被执行时,使得装置通过编配框架将多个计算设备互连,其中编配框架协调跨越多个计算设备的计算活动的操作。装置可接收将内容从第一计算设备传送到第二计算设备的请求,并根据计算设备的操作模式确定是否要开始传送。计算设备的操作模式也可包括受管操作模式和非受管操作模式。
本文所述的第三方面提供一种具有指令的非临时性计算机可读介质,其中指令在被执行时,使得计算设备通过编配框架连接到一个或多个计算设备,其中编配框架协调跨越计算设备的计算活动的操作。指令还可使得计算设备促进从计算设备到另一个计算设备的内容传送。计算设备可接收待传送的选定内容的指示。计算设备还可显示可用于被选定以接收选定内容的计算设备的列表。该计算设备列表可基于传送内容的计算设备的操作模式。计算设备可向服务器提供选自列表的计算设备的指示。然后服务器可开始和促进将选定内容传送到选定计算设备。
本文所述的一些方面还提供响应于确定操作模式相同而开始传送,响应于确定操作模式不同而阻止传送,基于操作模式确定是否要允许向虚拟剪切板复制或从虚拟剪切板粘贴,在开始启动应用程序之后将应用程序的操作模式设为期望操作模式,应用管理策略以及通过编配框架以客户端-服务器方式或对等方式使计算设备互连。
本文所述的一些方面还提供了以下内容:
(1)一种方法,包括:
通过编配框架使数个计算设备互连,所述编配框架协调跨越所述数个计算设备中的多个计算设备的计算活动的操作;
接收请求,所述请求为将内容从在所述数个计算设备中的第一计算设备处的第一应用程序传送到在所述数个计算设备中的第二计算设备处的第二应用程序;
至少部分根据所述第一应用程序的第一操作模式和所述第二应用程序的第二操作模式,确定是否要开始传送所述内容;
响应于确定所述第一操作模式与所述第二操作模式相同,开始将所述内容从所述第一应用程序传送到所述第二应用程序;以及
其中,所述第一操作模式和所述第二操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个。
(2)根据(1)所述的方法,还包括:
响应于确定所述第一操作模式是所述非受管操作模式并且所述第二操作模式是所述受管操作模式,开始所述内容的传送;以及
响应于确定所述第一操作模式是所述受管操作模式并且所述第二操作模式是所述非受管操作模式,阻止所述内容的传送。
(3)根据(1)所述的方法,还包括,响应于确定所述第一操作模式与所述第二操作模式不同,阻止所述内容从所述第一应用程序传送到所述第二应用程序。
(4)根据(1)所述的方法,还包括:
确定所述第一操作模式是所述受管操作模式并且所述第二操作模式是所述非受管操作模式;
指示所述第二应用程序将所述第二操作模式改变为所述受管操作模式;以及
在所述第二应用程序将所述第二操作模式改变为所述受管操作模式之后,开始所述内容的传送。
(5)根据(1)所述的方法,还包括:
接收来自所述第一应用程序的请求,所述请求为将所述内容复制到虚拟剪切板;
基于所述第一应用程序的所述第一操作模式,确定是否要开始将所述内容复制到所述虚拟剪切板;
响应于确定所述第一操作模式是所述受管操作模式,开始将所述内容复制到所述虚拟剪切板;以及
响应于确定所述第一操作模式是所述非受管操作模式,阻止将所述内容复制到所述虚拟剪切板。
(6)根据(5)所述的方法,还包括:
接收来自第二应用程序的请求,所述请求为粘贴来自所述虚拟剪切板的所述内容;
基于所述第二应用程序,确定是否要粘贴来自所述虚拟剪切板的所述内容;
响应于确定所述第二操作模式是所述受管操作模式,开始粘贴来自所述虚拟剪切板的所述内容;以及
响应于确定所述第二操作模式是所述非受管操作模式,阻止粘贴来自所述虚拟剪切板的所述内容。
(7)根据(1)所述的方法,还包括:
识别在所述第二计算设备处的一个或多个应用程序,其中,所述一个或多个应用程序的相应的操作模式匹配在所述第一计算设备处的所述第一应用程序的所述第一操作模式;以及
通知所述第一计算设备的所述第一应用程序所述一个或多个应用程序适用于被选为所述内容的目标。
(8)一种装置,包括:
至少一个处理器;
存储计算机可读指令的存储器,其中,所述计算机可读指令在被所述至少一个处理器执行时使得所述装置执行以下动作:
通过编配框架将数个计算设备互连,其中,所述编配框架协调跨越所述数个计算设备中的多个计算设备的计算活动的操作,
接收请求,所述请求为将内容从所述数个计算设备中的第一计算设备传送到所述数个计算设备中的第二计算设备;
至少部分根据所述第一计算设备的第一操作模式和所述第二计算设备的第二操作模式,确定是否要开始启动能够在所述第二计算设备处呈现所述内容的应用程序;以及
响应于确定所述第一操作模式与所述第二操作模式相同,开始在所述第二计算设备处启动所述应用程序;并且
其中,所述第一操作模式和所述第二操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个。
(9)根据(8)所述的装置,其中,所述指令在被所述至少一个处理器执行时,还使得所述装置执行以下动作:
确定所述第一计算设备的所述第一操作模式是所述受管操作模式;以及
在所述第二计算设备处启动所述应用程序之后,将所述应用程序的操作模式设为所述受管操作模式。
(10)根据(8)所述的装置,其中,所述指令在被所述至少一个处理器执行时,还使得所述装置阻止在所述第二计算设备处启动所述应用程序,来响应确定所述第一操作模式与所述第二操作模式不同。
(11)根据(8)所述的装置,其中,所述指令在被所述至少一个处理器执行时还使得所述装置执行以下动作:
在确定是否要开始启动所述应用程序时,应用管理策略;以及
其中,对于是否要开始启动所述应用程序的所述确定至少部分基于所述第一计算设备和所述第二计算设备的相应操作模式。
(12)根据(11)所述的装置,其中:
所述管理策略允许当所述第一计算设备的所述第一操作模式与所述第二计算设备的所述第二操作模式相同时,启动所述应用程序;
所述管理策略允许当所述第一计算设备的所述第一操作模式是所述非受管操作模式并且所述第二计算设备的所述第二操作模式是所述受管操作模式时,启动所述应用程序;以及
所述管理策略不允许当所述第一计算设备的所述第一操作模式是所述受管操作模式并且所述第二计算设备的所述第二操作模式是所述非受管操作模式时,启动所述应用程序。
(13)根据(8)所述的装置,其中,所述指令在被所述至少一个处理器执行时使得所述装置执行以下动作:
应用第一管理策略,以便基于所述第一计算设备的所述第一操作模式,确定所述第一计算设备是否被允许向虚拟剪切板复制;以及
应用第二管理策略,以便基于所述第二计算设备的所述第二操作模式,确定所述第二计算设备是否被允许从所述虚拟剪切板粘贴。
(14)一种或多种存储指令的非临时性计算机可读介质,其中,所述指令在执行时使得计算设备执行以下动作:
通过编配框架连接到一个或多个计算设备,其中,所述编配框架协调跨越所述计算设备和所述一个或多个计算设备的计算活动的操作;
接收将选定的内容传送到所述一个或多个计算设备中的选定计算设备的指示;
显示可用于被选为所述选定计算设备的计算设备的列表,其中,所述计算设备列表基于所述计算设备的操作模式,并且所述操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个;以及
开始经由所述编配框架,将所述选定内容传送到所述选定计算设备。
(15)根据(14)所述的计算机可读介质,其中:
所述计算设备列表包括具有与所述计算设备的所述操作模式相同的操作模式的至少一个可选择的计算设备;以及
所述计算设备列表排除具有与所述计算设备的所述操作模式不同的操作模式的任何计算设备。
(16)根据(14)所述的计算机可读介质,其中:
所述计算设备的所述操作模式为所述受管操作模式;以及
所述计算设备列表包括所具有的操作模式为所述受管操作模式的至少一个可选择的计算设备。
(17)根据(14)所述的计算机可读介质,其中:
所述计算设备的所述操作模式为所述非受管操作模式;以及
所述计算设备列表包括所具有的操作模式为所述受管操作模式或所述非受管操作模式的至少一个的可选择的计算设备。
(18)根据(14)所述的计算机可读介质,其中,所述指令在被执行时还使得所述计算设备执行以下动作:
启动应用程序来响应经由所述编配框架接收到指令,其中,所述指令指示用于所述应用程序的期望操作模式;
将所述应用程序的所述操作模式设为所述期望操作模式;以及
经由所述编配框架提供通知,所述通知指示所述应用程序已按照所述期望操作模式启动。
(19)根据(18)所述的计算机可读介质,其中,所述指令在被执行时还使得所述计算设备执行以下动作:
经由所述编配框架接收所传送的内容来响应所述通知的接收,所述通知指示所述应用程序已按照所述期望操作模式启动;以及
使用所述应用程序呈现所传送的内容。
(20)根据(14)所述的计算机可读介质,其中,所述编配框架被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合中的至少一个,使所述计算设备和所述一个或多个计算设备互连。
上述方面可类似地适用于方法、装置、和非临时性计算机可读介质,这些方法、装置、和非临时性计算机可读介质用于确定是否指示计算设备要在另一个计算设备处执行在一个计算设备处开始的计算活动的至少一部分。该确定可同样基于计算设备的操作模式。基于计算设备的操作模式,编配框架可指示计算设备执行在另一个计算设备处开始的计算活动的至少一部分。编配框架还可指示计算设备或驻留在计算设备处的应用程序在执行所述计算活动的部分之前改变操作模式,例如,从非受管操作模式改变为受管操作模式。可用于被选择以执行所述计算活动的部分的计算设备的列表也可基于计算设备的操作模式。编配框架可被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合使计算设备互连。
通过下面进一步详述的本公开的益处,将理解这些方面和另外的方面。
附图说明
通过参阅考虑到附图的以下描述,可获得对本文所述方面及其优点的更完整的理解,在附图中,相同的附图标记指示相同的特征,并且在附图中:
图1根据本文所述一个或多个示例性方面描绘可使用的示例性计算机系统体系结构。
图2根据本文所述一个或多个示例性方面描绘可使用的示例性远程访问系统体系结构。
图3根据本文所述一个或多个示例性方面描绘可使用的示例性虚拟化(超级管理器)系统体系结构。
图4根据本文所述一个或多个示例性方面描绘可使用的示例性基于云的系统体系结构。
图5描绘示例性企业活动管理系统。
图6描绘另一个示例性企业活动管理系统。
图7根据本文所述一个或多个示例性方面示出多设备使用。
图8根据本文所述一个或多个示例性方面示出可使用的系统体系结构。
图9A根据本文所述一个或多个示例性方面示出系统体系结构。
图9B根据本文所述一个或多个附加示例性方面示出系统体系结构。
图10为用于跨设备文件共享的示例方法步骤的流程图。
图11为用于跨设备URL共享的示例方法步骤的流程图。
图12为用于跨设备复制和粘贴功能的示例方法步骤的流程图。
图13为用于在目标设备处启动共享文件的示例方法步骤的流程图。
图14为可在其中实践本文实施例的示例环境的框图。
图15根据实施例描绘移动设备的采样界面。
图16为根据实施例的用于确定应用程序的应用程序模式的流程图。
图17为根据实施例的用于确定应用程序的账户类型背景的流程图。
图18为根据实施例的用于确定应用程序的位置背景的流程图。
图19为根据实施例的用于确定应用程序的预定应用程序状态背景的流程图。
图20为根据实施例的用于确定应用程序的网络连接背景的流程图。
图21为根据实施例的用于确定应用程序的设置背景的流程图。
图22为根据实施例的用于切换应用程序的应用程序模式的流程图。
图23为可在其中实践本文实施例的示例环境的框图。
图24为可在其中实践本文实施例的示例环境的框图。
图25为图24的移动设备的各种特征的框图。
图26为移动设备的实施例的示意图。
图27示出可安装在移动设备上的安全相关组件和应用程序。
图28描绘具有客户端、代理、资源、和/或验证服务的示例性系统。
图29描绘客户端和代理的示例性详细视图。
图30A为用于使用代理来验证和/或提供对资源的安全访问的示例方法步骤的流程图。
图30B为用于使用代理来验证和/或提供对资源的安全访问的附加示例方法步骤的流程图。
图30C为用于使用代理来验证和/或提供对资源的安全访问的另外的附加示例方法步骤的流程图。
图31A为适用于在安全应用程序之间传输数据的电子移动设备的框图。
图31B为被配置成访问隐藏的加密粘贴板的安全应用程序的框图。
图31C示出通过非安全的应用程序将数据复制到通用剪切板中的示例,其中非安全的应用程序创建可检测的复制事件。
图31D示出数据可移入到设备中或从设备移出的示例方式。
图32示出可适用于在设备处配置管理策略的示例电子环境。
图33为用于基于计算设备的操作模式而在计算设备之间传送内容的示例方法步骤的流程图。
图34为用于基于计算设备的操作模式而在计算设备之间传送内容的示例方法步骤的另一个流程图。
图35为用于基于计算设备的操作模式而在计算设备之间传送内容的示例方法步骤的附加流程图。
图36为用于基于计算设备的操作模式来确定是否要允许向虚拟剪切板复制和从虚拟剪切板粘贴的请求的示例方法步骤的流程图。
图37为用于基于计算设备的相应操作模式来识别可用于选作目标计算设备的一组计算设备的示例方法步骤的流程图。
图38为用于获取管理策略并将管理策略分配到互连的计算设备之间的示例方法步骤的流程图。
图39为用于应用管理策略以确定计算设备是否可以访问资源、与另一个计算设备共享资源、以及将内容从资源传送到另一个计算设备的示例方法步骤的流程图。
图40为用于应用管理策略来管理从一个计算设备向另一个计算设备的内容传送的示例方法步骤的流程图。
图41为用于应用管理策略来确定用户是否经由编配框架被允许连接新的计算设备的示例方法步骤的流程图。
图42为用于基于数据仓库的数据仓库类型而在计算设备之间传送内容的示例方法步骤的流程图,其中数据仓库在计算设备处存储了内容。
图43为用于基于数据仓库的数据仓库类型而在计算设备之间传送内容的示例方法步骤的另一个流程图,其中数据仓库在计算设备处存储了内容。
图44为用于执行指令以擦除相应地存储在互连计算设备处的内容的示例方法步骤的流程图。
图45为基于在计算设备处的数据仓库的相应数据仓库类型,识别可用于选为目标计算设备的一组计算设备的示例方法步骤的流程图。
图46为用于获取互连计算设备的SSO凭证的示例方法步骤的流程图。
图47为用于获取互连计算设备的SSO凭证的示例方法步骤的另一个流程图。
图48为用于向包括相应策略代理的互连计算设备提供管理策略的示例方法步骤的流程图。
图49为用于向包括相应策略代理的互连计算设备提供管理策略的示例方法步骤的另一个流程图。
图50为用于管理从受制于策略代理的计算设备到受制于策略代理的另一个计算设备的内容传送的示例方法步骤的流程图。
图51为用于协调通过编配框架互连的多个计算设备处的计算活动的操作的示例方法步骤的流程图。
图52为用于选择互连计算设备以执行计算活动的至少一部分的示例方法步骤的流程图。
具体实施方式
为解决上述问题和将对读者明显的其他问题,本文所述的方面允许多个设备充当一致整体,从而允许每个设备承担彼此互补的不同功能。本文所述的方面还允许在以下情况下设备充当一致整体:当互连设备和它们相应的应用程序被配置成以各种操作模式操作时,当采用管理策略来控制互连设备和它们相应的应用程序的操作时,当在互连设备之间传送内容并将内容存储在那些设备处时,当获取使得设备能够访问企业资源的用于互连设备的访问凭证时,当策略代理应用管理策略来控制互连设备的操作和互连设备之间的交互时,以及当使用互联设备来访问虚拟工作空间和企业应用商店时。
如下面进一步详述的,编配框架可使多个计算设备互连,并协调跨越互连设备的计算活动的操作。根据一个方面,编配框架可使得驻留于一个计算设备的内容可用于另一个计算设备,以便在该计算设备处呈现。例如,编配框架可使得驻留于平板电脑计算设备的视频内容可用于呈现视频内容的较大显示设备(例如,电视)。根据编配框架的另一个方面,计算活动可以在第一计算设备处开始,并且该计算活动的一部分可以在其他计算设备中的一个处执行。例如,在线会议可以在移动蜂窝电话处开始,来自在线会议的音频可以在较大的音频输出设备(例如,扬声器系统)输出,并且来自在线会议的视频可被输出到较大的显示设备。作为另一个示例,文件编辑应用程序可以在平板电脑计算设备处开始,该应用程序的输入可以在台式计算设备的键盘处接收,并且该应用程序的界面可以在较大的显示设备处显示。通过下面提供的详细说明的益处,将理解另外的方面和示例。
更一般地讲,与应用程序相关联的功能、输入、和输出可以分布在通过编配框架互连的多个设备上,使得互联设备作为协调的整体操作。另外,编配框架还可通过向互连计算设备提供应用程序、凭证、内容、和其他资源,使得互连设备作为协调的整体操作。编配框架可经由客户端-服务器通信会话、对等通信会话或两者,使计算设备互连。如下面进一步详述,每个互连计算设备可包括相应的编配代理(orchestration agent),其在客户端-服务器通信会话期间与在服务器处的编配服务通信,从而协调计算活动的操作。编配代理还可在对等通信会话期间彼此通信,以协调计算活动的操作。编配代理可彼此通信,以便在有或没有服务器处的编配服务的情况下,协调计算活动的操作。
另外,计算设备和相应地驻留于那些计算设备的应用程序可在下面被描述为受管的和非受管的。如果计算设备或应用程序是受管的,则计算设备或应用程序的功能可被选择性地启用、禁用、或修改。通过管理计算设备或应用程序,企业可保证计算设备或应用程序安全,如下面进一步详述。因此,计算设备或应用程序也可被称为安全的或非安全的。但是,应当理解,企业可以安全或非安全的方式管理计算设备或应用程序。因此,在一些示例中,计算设备可为受管的计算设备,其为安全的计算设备或非安全的计算设备,这取决于用于管理计算设备或应用程序的特定管理策略。
在各种实施例的下面描述中,参考在上文确定且构成本文一部分的附图,并且其中以例证各种实施例的方式示出附图,在所述各种实施例中可实践本文所述的方面。应当理解,可使用其他实施例,并且可做出结构上和功能上的修改,而不脱离本文所述范围。各种方面能够具有其他实施例,并且能够被以各种不同的方式来实践或执行。
应当理解,本文所用的措辞和术语用于说明的目的,并且不应视作限制性的。相反,本文所用的措辞和术语应提供它们最广义的解释和含义。“包括(including)”和“包含(comprising)”以及它们的变型的使用旨在涵盖在其后列出的项目和它们的等价物以及它们的附加项和等价物。术语“安装的(mounted)”、“连接的(connected)”、“耦合的(coupled)”、“定位的(positioned)”、“接合的(engaged)”和类似术语的使用旨在包括直接和间接的安装、连接、耦合、定位和接合。
计算体系结构
计算机软件、硬件、和网络可用于多种不同的系统环境,除了别的之外,包括独立的、联网的、远程访问的(又叫做,远程桌面)、虚拟化的、和/或基于云的环境。图1示出可用于在独立和/或联网环境中实现本文所述一个或多个示例性方面的系统体系结构和数据处理设备的一个示例。各种网络节点103、105、107、和109可经由广域网(WAN)(诸如因特网)101互连。也可使用或者另选地使用其他网络,包括专用内部网、企业网、局域网(LAN)、城域网(MAN)、无线网络、个人网(PAN)等。网络101用于例证的目的,并且可被替换为更少的或另外的计算机网络。LAN可具有任何已知LAN拓扑结构中的一种或多种,并且可使用多种不同协议(诸如以太网)中的一种或多种。设备103、105、107、109和其他设备(未示出)可经由双绞导线、同轴电缆、光纤、无线波电或其他通信介质连接到所述网络中的一者或多者。
如本文所使用和在附图中描绘的,术语“网络”不仅指其中远程存储设备经由一个或多个通信路径耦合在一起的系统,还指可以时时耦合到具有存储能力的此类系统的独立式设备。因此,术语“网络”不仅包括“物理网络”,还包括“内容网络”,该“内容网络”由可归因于驻留在全部物理网络中的单个实体的数据构成。
组件可包括数据服务器103、网页服务器105、和客户端计算机107、109。数据服务器103提供用于执行本文所述一个或多个示例性方面的数据库和控制软件的整体访问、控制和管理。数据服务器103可连接到网页服务器105,藉此,用户按需与数据交互并获得数据。另选地,数据服务器103可充当网页服务器自身,并且可直接连接到因特网。数据服务器103可通过网络101(例如,因特网)经由直接或间接连接或经由一些其他网络,连接到网页服务器105。用户可使用远程计算机107、109(例如,使用网页浏览器经由网页服务器105所托管的一个或多个对外公开的网站连接到数据服务器103)与数据服务器103交互。客户端计算机107、109可用于与数据服务器103配合来访问存储于其中的数据,或者可用于其他目的。例如,用户可使用因特网浏览器(如本领域已知的),或者通过执行经由计算机网络(诸如因特网)与网页服务器105和/或数据服务器103通信的软件应用程序,从客户端设备107访问网页服务器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)等将处理事务分开。
一个或多个方面可以实现于计算机可使用的或可读取的数据和/或计算机可执行指令(诸如在通过如本文所述的一个或多个计算机或其他设备执行的一个或多个程序模块中)。一般来讲,程序模块包括当被计算机或其他设备中的处理器执行时执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。所述模块可被以源码编程语言编写然后被编译执行,或者可以脚本语言(诸如(但不限于)Javascript或ActionScript)编写。计算机可执行指令可以存储在计算机可读介质(诸如非易失性存储设备)上。可使用任何适当的计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁存储设备、和/或它们的任何组合。另外,表示如本文所述数据或事件的各种传输(非存储)介质可以通过信号传导介质(诸如金属线、光纤、和/或无线传输介质(例如,空气和/或空间))行进的电磁波的形式在源和目标之间传输。本文所述各种方面可以实现为方法、数据处理系统、或计算机程序产品。因此,各种功能可在软件、固件和/或硬件或硬件等价物(诸如集成电路、现场可编程门阵列门阵列(FPGA)等)中整体实现或部分实现。特定的数据结构可用于更有效地实现本文所述一个或多个方面,并且此类数据结构被认为是在本文所述的计算机可执行指令和计算机可使用数据的范围之内。
进一步参考图2,本文所述一个或多个方面可以在远程访问环境中实现。图2描绘示例系统体系结构,其包括根据本文所述一个或多个示例性方面可使用的在示例性计算环境200中的通用计算设备201。通用计算设备201可用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,其中所述桌面虚拟化系统被配置成为客户端访问设备提供虚拟机。通用计算设备201可具有用于控制服务器及其关联组件(包括随机存取存储器(RAM)205、只读存储器(ROM)207、输入/输出(I/O)模块209、和存储器215)的总体操作的处理器203。
I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光读取器、和/或输入笔(或其他输入设备),其中通用计算设备201的用户可通过上述输入设备提供输入,并且还可包括用于提供音频输出的扬声器和用于提供文本、视听、和/或图形输出的视频显示设备中的一个或多个。软件可存储在存储器215和/或其他储存器中,以向处理器203提供指令将通用计算设备201配置成专用计算设备以便执行如本文所述的各种功能。例如,存储器215可存储通过计算设备201使用的软件,诸如操作系统217、应用程序219、和关联数据库221。
计算设备201可在支持到一个或多个远程计算机(诸如终端240(也称作客户端设备))的连接的联网环境中操作。终端240可为个人计算机、移动设备、笔记本电脑、平板电脑、或包括上文相对于通用计算设备103或201描述的元件中的许多或全部元件的服务器。在图2中描绘的网络连接包括局域网(LAN)225和广域网(WAN)229,但是还可包括其他网络。当在LAN联网环境中使用时,计算设备201可通过网络接口或适配器223连接到LAN 225。当在WAN联网环境中使用时,计算设备201可包括用于通过WAN 229(诸如计算机网络230(例如,因特网))建立通信的调制解调器227或其他广域网接口。应当理解,所示网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他方式。计算设备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超级管理器(例如,由思杰系统、IBM、Vmware开发的管理程序)或任何其他管理程序管理的任何虚拟机。在一些方面,虚拟机可通过超级管理器进行管理,而在一些方面,虚拟机可通过在服务器206上执行的管理程序或在客户端240上执行的管理程序管理。
一些实施例包括客户端设备240,该客户端设备240显示通过在服务器206或其他远程定位机器上远程执行的应用程序生成的应用程序输出。在这些实施例中,客户端设备240可执行虚拟机客户端代理程序或应用程序,以在应用程序窗口、浏览器、或其他输出窗口中显示输出。在一个示例中,应用程序为桌面,而在其他示例中,应用程序为生成或呈现桌面的应用程序。桌面可包括提供用于操作系统实例的用户界面的图形外壳,其中在所述操作系统实例中可整合本地和/或远程应用程序。如本文所用的应用程序是在操作系统实例(并且也可选地为桌面)已被加载之后执行的程序。
在一些实施例中,服务器206使用远程表达协议或其他程序,将数据发送到在客户端上执行的瘦客户端或远程显示应用程序,以呈现通过在服务器206上执行的应用程序所生成的显示输出。瘦客户端或远程显示协议可为以下非穷举协议列表中的任一个:由佛罗里达州的劳德代尔堡的思杰系统公司开发的独立计算体系结构(ICA)协议;或由华盛顿州雷德蒙德的Microsoft公司制作的远程桌面协议(RDP)。
远程计算环境可包括多于一个服务器206a-206n,使得服务器206a-206n在逻辑上组合成服务器群206(例如,在云计算环境中)。服务器群206可包括在地理上分散同时在逻辑上组合在一起的服务器206,或靠近彼此定位同时在逻辑上组合在一起的服务器206。在一些实施例中,服务器群206内的在地理上分散的服务器206a-206n可利用WAN(广域)、MAN(城市)、或LAN(局域)通信,其中不同的地理区域可被表征为:不同的大陆;大陆的不同区域;不同的国家;不同的洲;不同的城市;不同的校园;不同的房间;或前述地理位置的任何组合。在一些实施例中,服务器群206可被实施为单个实体,而在其他实施例中,服务器群206可包括多个服务器群。
在一些实施例中,服务器群可包括服务器206,该服务器206执行基本上相似类型的操作系统平台(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN等)。在其他实施例中,服务器群206可包括执行第一类型的操作系统平台的第一组的一个或多个服务器,和执行第二类型的操作系统平台的第二组的一个或多个服务器。
服务器206可按需被配置为任何类型的服务器,例如,文件服务器、应用程序服务器、网页服务器、代理服务器、装置、网络装置、网关、应用网关、网关服务器、虚拟化服务器、部署服务器、SSL VPN服务器、防火墙、网页服务器、应用服务器或作为主应用程序服务器、执行活动目录的服务器、或执行应用加速程序的服务器,其中所述应用加速程序提供防火墙功能、应用功能、或负载平衡功能。也可以使用其他服务器类型。
一些实施例包括第一服务器206a,该第一服务器206a接收来自客户机240的请求,将请求转发到第二服务器206b,并且用来自第二服务器206b的响应对通过客户机240生成的请求做出响应。第一服务器206a可获取可用于客户机240的应用程序的枚举以及与应用服务器206相关联的地址信息,其中所述应用服务器206托管在所述应用程序枚举内识别的应用程序。第一服务器206a可然后使用网络接口(web interface)呈现对于客户端的请求的响应,并且与客户端240直接通信以向客户端240提供对于被识别应用程序的访问。一个或多个客户端240和/或一个或多个服务器206可通过网络230(例如网络101)传输数据。
图2示出示例性桌面虚拟化系统的高级体系结构。如所示,桌面虚拟化系统可为单服务器或多服务器系统,或云系统,包括至少一个虚拟化服务器206,该虚拟化服务器206被配置成向一个或多个客户端访问设备240提供虚拟桌面和/或虚拟应用程序。如本文所使用的,桌面是指可在其中托管和/或执行一个或多个应用程序的图形环境或空间。桌面可包括提供用于操作系统实例的用户界面的图形外壳,其中在所述操作系统实例中可整合本地和/或远程应用程序。应用程序可包括在操作系统实例(以及可选地还有桌面)被加载之后执行的程序。操作系统的每个实例可以为物理的(例如,每台设备一个操作系统)或虚拟的(例如,OS的多个实例在单个设备上运行)。每个应用程序可以在本地设备上执行,或在远程定位的设备(例如,远程的)上执行。
进一步参考图3,计算机设备301可被配置为虚拟化环境中的虚拟化服务器,例如,单服务器,多服务器,或云计算环境。图3中所示的虚拟化服务器301可被部署为图2中所示服务器206的一个或多个实施例和/或通过图2中所示服务器206的一个或多个实施例或通过其他已知计算设备实现。包括在虚拟化服务器301中的是硬件层,该硬件层可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308和一个或多个物理存储器316。在一些实施例中,固件312可存储在物理存储器316中的存储器单元内,并且可通过物理处理器308中的一个或多个执行。虚拟化服务器301还可包括操作系统314,该操作系统314可存储在物理存储器316中的存储器单元内并且可通过物理处理器308中的一个或多个执行。进一步地,超级管理器302可存储在物理存储器316中的存储器单元中,并且可通过物理处理器308中的一个或多个执行。
在物理处理器308中的一个或多个上执行的可以是一个或多个虚拟机332A-C(统称为332)。每个虚拟机332可具有虚拟磁盘326A-C和虚拟处理器328A-C。在一些实施例中,第一虚拟机332可使用虚拟处理器328A执行控制程序320,该控制程序320包括工具堆栈324。控制程序320可称作控制虚拟机,Dom0,域0,或用于系统管理和/或控制的其他虚拟机。在一些实施例中,一个或多个虚拟机332B-C可使用虚拟处理器328B-C执行客户操作系统(guest operating system)330A-B。
虚拟化服务器301可包括硬件层310,该硬件层310具有与虚拟服务器301通信的一种或多种硬件。在一些实施例中,硬件层310可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308、和一个或多个存储器216。物理组件304、306、308、和316可包括例如上述组件中的任一个。物理设备306可包括例如网络接口卡、视频卡、键盘、鼠标、输入设备、监视器、显示设备、扬声器、光驱、存储设备、通用串行总线连接、打印机、扫描仪、网络单元(例如,路由器、防火墙、网络地址转换器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等)或连接于虚拟化服务器301或与虚拟化服务器301通信的任何设备。在硬件层310中的物理存储器316可包括任何类型的存储器。物理存储器316可存储数据,并且在一些实施例中可存储一个或多个程序、或可执行指令集。图3示出其中固件312存储在虚拟化服务器301的物理存储器316中的实施例。存储在物理存储器316中的程序或可执行指令可通过虚拟化服务器301的一个或多个处理器308执行。
虚拟化服务器301还可包括超级管理器302。在一些实施例中,超级管理器302可为通过在虚拟化服务器301上的处理器308执行以创建和管理任何数量的虚拟机332的程序。超级管理器302可称作虚拟机监视器或平台虚拟化软件。在一些实施例中,超级管理器302可为监控在计算机器上执行的虚拟机的可执行指令和硬件的任何组合。超级管理器302可为类型2的超级管理器,其中超级管理器在执行于虚拟化服务器301上的操作系统314内执行。虚拟机然后可以在高于超级管理器的级别执行。在一些实施例中,类型2的超级管理器在用户的操作系统环境内执行,使得类型2的超级管理器与用户的操作系统交互。在其他实施例中,在虚拟化环境中的一个或多个虚拟化服务器201可以替代地包括类型1的超级管理器(未示出)。类型1的超级管理器可通过直接访问硬件层310内的硬件和资源而在虚拟化服务器301上执行。也就是说,当类型2的超级管理器302通过主机操作系统314访问系统资源时,如所示,类型1的超级管理器可直接访问所有系统资源而无需主机操作系统314。类型1的超级管理器可直接在虚拟服务器301的一个或多个物理处理器308上执行,并且可包括存储于物理存储器316中的程序数据。
在一些实施例中,超级管理器302可通过模拟具有对系统资源的直接访问的操作系统330或控制程序320的任何方式,向在虚拟机332上执行的操作系统330或控制程序320提供虚拟资源。系统资源可包括但不限于物理设备306、物理磁盘304、物理处理器308、物理存储器316和包括在虚拟化服务器301的硬件层310中的任何其他组件。超级管理器302可用于对虚拟硬件仿真、对物理硬件分区、使物理硬件虚拟化、和/或执行提供对计算环境的访问的虚拟机。在另外的其他实施例中,超级管理器302控制用于在虚拟化服务器301上执行的虚拟机332的处理器安排和存储器分区。超级管理器302可包括:加利福尼亚州帕洛阿尔托的VMWare制造的那些;管理程序,一款由开源Xen.org社区(Xen.org community)监督其开发的开源产品;由微软提供的HyperV、VirtualServer或虚拟PC管理程序或其他。在一些实施例中,虚拟化服务器301执行创建虚拟机平台的超级管理器302,其中客户操作系统可在所述虚拟机平台上执行。在这些实施例中,虚拟化服务器301可称作主机服务器。该虚拟化服务器的示例为佛罗里达州的劳德代尔堡的思杰系统公司提供的XEN
超级管理器302可创建一个或多个虚拟机332B-C(统称为332),客户操作系统330可在该一个或多个虚拟机332B-C中执行。在一些实施例中,超级管理器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通信,以访问云系统的计算资源(例如,主机服务器403、存储资源404、和网络资源405)。
管理服务器410可以在一个或多个物理服务器上实现。例如,除了别的之外,管理服务器410可运行由佛罗里达州的劳德代尔堡的思杰系统公司开发的CLOUDSTACK或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(诸如隶属于不同公司或机构的用户)可以是不相关的。对于不相关的客户端,在虚拟机或任一用户的储存器上的信息可以对其他用户隐藏。
现在参考云计算环境的物理硬件层,可用区域(availablity zone)401-402(或区域)可以指物理计算资源的并置集。区域可在计算资源的整个云中与其他区域地理上分离。例如,区域401可为位于加利福尼亚州的第一云数据中心,并且区域402可为位于佛罗里达州的第二云数据中心。管理服务器410可位于可用区域中的至少一个,或位于独立的位置。每个区域可包括通过网关与该区域外部的设备(诸如管理服务器410)连接的内部网络。云的最终用户(例如,客户端411-414)可以或可以未意识到各区域之间的差异。例如,最终用户可请求创建具有指定存储器的量、处理能力、和网络容量的虚拟机。管理服务器410可对用户的请求做出响应并且可分配资源来创建虚拟机,而无需用户知晓是否利用来自区域401或区域402的资源创建了虚拟机。在其他示例中,云系统可允许最终用户请求将虚拟机(或其他云资源)分配在特定区域中或分配在区域内的特定资源403-405上。
在本示例中,每个区域401-402可包括各种物理硬件组件(或计算资源)403-405(例如,物理托管资源(或处理资源)、物理网络资源、物理存储资源、开关、和可用于向客户提供云计算服务的附加硬件资源)的布置。在云区域401-402中的物理托管资源可包括一个或多个计算机服务器403,诸如上述虚拟化服务器301,其可被配置成创建或托管虚拟机实例。在云区域401或402中的物理网络资源可包括一个或多个网络单元405(例如,网络服务提供商),包括被配置成向云客户提供网络服务(诸如防火墙、网络地址转换器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等)的硬件和/或软件。在云区域401-402中的存储资源可包括存储磁盘(例如,固态硬盘(SSD)、磁硬盘等)和其他存储设备。
在图4中示出的示例云计算环境还可包括虚拟化层(例如,如图1-3所示),该虚拟化层具有被配置成使用云中的物理资源来创建和管理虚拟机并向客户提供其他服务的附加硬件和/或软件资源。虚拟化层可包括如上述图3中的超级管理器与其他组件一起提供网络虚拟化、存储虚拟化等。虚拟化层可为独立于物理资源层的层,或者可与物理资源层共享相同硬件和/或软件资源的一些或全部。例如,虚拟化层可包括安装在具有物理计算资源的虚拟化服务器403的每个中的超级管理器。可另选地使用已知的云系统,例如WINDOWSAZURE(华盛顿州雷德蒙德的微软公司)、AMAZON EC2(华盛顿州西雅图的Amazon.com公司)、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可通过安全应用程序包装器(application wrapper)520进行包装。安全应用程序包装器520可包括综合管理策略,其中当安全本地应用程序在设备上执行时,所述综合管理策略在移动设备502上执行。安全应用程序包装器520可包括将在移动设备502上运行的安全本地应用程序514指向在企业托管的资源的元数据,其中所述资源是安全本地应用程序514在执行安全本地应用程序514时完成所请求的任务所需的。由安全应用程序启动器518执行的安全远程应用程序522可以在安全应用程序启动器应用程序518中执行。由安全应用程序启动器518执行的虚拟化应用程序526可利用移动设备502上的资源,在企业资源504处的资源等。由安全应用程序启动器518执行的虚拟化应用程序526在移动设备502上使用的资源可包括,用户交互资源、处理资源等。用户交互资源可用于收集和传输键盘输入、鼠标输入、摄像头输入、触觉输入、音频输入、视觉输入、手势输入等。处理资源可用于呈现用户界面、从企业资源504接收的过程数据等。由安全应用程序启动器518执行的虚拟化应用程序526在企业资源504处使用的资源可包括,用户界面生成资源、处理资源等。用户界面生成资源可用于装配用户界面、修改用户界面、刷新用户界面等。处理资源可用于创建信息、读取信息、更新信息、删除信息等。例如,虚拟化应用程序可记录与GUI相关联的用户交互,并且将它们传送到服务器应用程序,在该服务器应用程序处,服务器应用程序将使用用户交互数据作为对在服务器上运行的应用程序的输入。在这种设置中,企业可选择维持在服务器端上的应用程序以及与应用程序相关联的数据、文件等。虽然企业可通过确保应用程序在移动设备上的部署的安全,来根据本文的原理选择“调动”一些应用程序,但这种设置也可被选择用于某些应用程序。例如,尽管一些应用程序可被确保其在移动设备上的使用的安全,但其他应用程序可能未准备或不适于部署在移动设备上,因此企业可选择通过虚拟化技术提供对无准备应用程序的移动用户访问。又如,企业可具有大的复杂应用程序,其具有大且复杂的数据集(例如,材料资源规划应用程序),其中为移动设备定制应用程序可能非常困难或以其他方式不合需要,从而企业可选择通过虚拟化技术提供对应用程序的访问。又如,企业可具有维持高度安全数据(例如,人力资源数据、客户数据、工程数据)的应用程序,这些高度安全数据可被企业视为非常敏感的,即便是在安全的移动环境中,因此企业可选择使用虚拟化技术来允许对此类应用程序和数据的移动访问。企业可选择同时在移动设备上提供完全安全且功能齐全的应用程序以及虚拟化应用程序,以允许对被视为更适于在服务器端运行的应用程序的访问。在实施例中,虚拟化应用程序可在安全存储位置中的一个安全存储位置处存储移动电话上的一些数据、文件等。例如,企业可选择允许某些信息存储在电话上而不允许其他信息存储在电话上。
结合虚拟化应用程序,如本文所述,移动设备可具有被设计成呈现GUI并且然后记录与GUI的用户交互的虚拟化应用程序。该应用程序可将用户交互传输到服务器端,所述用户交互将被服务器端应用程序用作与应用程序的用户交互。作为响应,在服务器端上的应用程序可将新的GUI送回移动设备。例如,新GUI可为静态页面、动态页面、动画等。
在受管分区上运行的应用程序可为稳定的应用程序。该稳定的应用程序可由设备管理器524管理。设备管理器524可监控稳定的应用程序并使用用于检测和纠正问题的技术,如果未使用此类技术来检测和纠正问题,则将导致不稳定的应用程序。
安全应用程序可访问存储在移动设备的受管分区510中的安全数据容器528中的数据。在安全数据容器中保护的数据可通过安全包装的应用程序514、由安全应用程序启动器518执行的应用程序、由安全应用程序启动器518执行的虚拟化应用程序526等访问。存储在安全数据容器528中的数据可包括文件、数据库等。存储在安全数据容器528中的数据可包括限制于特定安全应用程序530的数据、在安全应用程序532之间共享的数据等。限制于安全应用程序的数据可包括安全通用数据534和高度安全数据538。安全通用数据可使用强加密形式,诸如AES 128-位加密等,而高度安全数据538可使用非常强的加密形式,诸如AES254-位加密。当接收到来自设备管理器524的命令时,存储在安全数据容器528中的数据可从设备删除。安全应用程序可具有双模式选项540。双模式选项540可为用户呈现以非安全模式操作安全应用程序的选项。在非安全模式下,安全应用程序可访问存储在移动设备502的非受管分区512上的非安全数据容器542中的数据。存储在非安全数据容器中的数据可为个人数据544。存储在非安全数据容器542中的数据还可通过在移动设备502的非受管分区512上运行的非安全应用程序548访问。当存储在安全数据容器528中的数据被从移动设备502删除时,存储在非安全数据容器542中的数据可保留在移动设备502上。企业可想要从移动设备删除选定的或全部的数据、文件、和/或由企业(企业数据)所拥有、许可或控制的应用程序,同时保留或以其他方式保存个人数据、文件、和/或由用户(个人数据)拥有、许可或控制的应用程序。该操作可称作选择性擦除。通过根据本文所述方面设置企业和个人数据,企业可执行选择性擦除。
移动设备可连接到企业资源504和在企业处的企业服务508,连接到公共因特网548等。移动设备可通过虚拟私有网络连接,连接到企业资源504和企业服务508。虚拟私有网络连接可特定于特定应用程序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应用程序、网页应用程序服务器、Windows应用程序服务器等。电子邮件服务器可包括交换服务器(Exchangeserver)、Lotus Notes服务器等。文件共享服务器可包括云存储资源服务器等。SaaS应用程序可包括Salesforce等。Windows应用程序服务器可包括被搭建以提供旨在在本地Windows操作系统上运行的应用程序的任何应用程序服务器等。企业资源504可为基于前提条件的(premise-based)资源、基于云的资源等。企业资源504可由移动设备502直接访问或通过访问网关560访问。企业资源504可通过移动设备502经由运输网络562访问。运输网络562可为有线网络、无线网络、云网络、局域网、城域网、广域网、公共网络、私有网络等。
企业服务508可包括验证服务558、威胁检测服务564、设备管理器服务524、文件共享服务568、策略管理器服务570、社交融合服务572、应用程序控制器服务574等。验证服务558可包括用户验证服务、设备验证服务、应用程序验证服务、数据验证服务等。验证服务558可使用证书。证书可通过企业资源504等存储在移动设备502上。存储在移动设备502上的证书可存储在移动设备上的加密位置处,证书可暂时存储在移动设备502上,用于在验证时使用。威胁检测服务564可包括入侵检测服务、未授权访问尝试检测服务等。未授权访问尝试检测服务可包括访问设备、应用程序、数据等的未授权尝试。设备管理服务524可包括配置、提供、保护、支持、监控、报告、和解除服务。文件共享服务568可包括文件管理服务、文件存储服务、文件协作服务等。策略管理器服务570可包括设备策略管理器服务、应用程序策略管理器服务、数据策略管理器服务等。社交融合服务572可包括联系整合服务、协作服务、与社交网络(诸如Facebook、Twitter、和LinkedIn)的融合等。应用程序控制器服务574可包括管理服务、供应服务、部署服务、分配服务、撤销服务、包装服务等。
企业活动技术体系结构500可包括应用商店578。应用商店578可包括非包装应用程序580,、预包装应用程序582等。根据应用程序控制器574,可将应用程序填充到应用商店578中。应用商店578可以被移动设备502通过访问网关560、通过公共因特网548等访问。应用商店可设置有直观且容易使用的用户界面。应用商店578可提供对软件开发工具包584的访问。软件开发工具包584通过如本说明书中前述来包装应用程序,可向用户提供保护用户所选的应用程序的能力。通过使用应用程序控制器574将已使用软件开发工具包584包装的应用程序填充到应用商店578中,可使所述应用程序然后可用于移动设备502。
企业活动技术体系结构500可包括管理和分析能力。管理和分析能力可提供与如何使用资源、多久使用资源等有关的信息。资源可包括设备、应用程序、数据等。如何使用资源可包括哪些设备下载了哪些应用程序、哪些应用程序访问了哪些数据等等。多久使用资源可包括应用程序已被下载多久、特定数据集已被应用程序访问多少次等等。
图6是另一个示例性企业活动管理系统600。为简单起见,上文参考图5描述的活动管理系统500的组件中的一些已被省略。图6中描绘的系统600的体系结构在许多方面类似于上上文参考图5描述的系统500的体系结构,并且可包括上文未提及的附加特征。
在这种情况下,左手侧表示具有客户端代理604的登录的移动设备602,其与网关服务器606(其包括访问网关和应用程序控制器功能)交互,以访问各种企业资源608和服务609,诸如Exchange、Sharepoint、PKI资源、Kerberos资源、和证书发布服务,如上面的右手侧所示。虽然未具体示出,但移动设备602还可与企业应用商店(例如,存储前端)交互以选择和下载应用程序。
客户端代理604充当由企业数据中心托管的Windows应用程序/桌面的UI(用户界面)中间物,所述Windows应用程序/桌面使用显示远程协议来访问。客户端代理604还支持在移动设备602上的本机应用程序(诸如本机iOS或Android应用程序)的安装和管理,。例如,上图所示的受管应用程序610(邮件、浏览器、包装的应用程序)均为在设备上本地执行的本机应用程序。该体系结构的客户端代理604和应用程序管理框架操作以提供策略驱动的管理能力和特征,诸如对企业资源/服务608的连接和SSO(单一登录)。客户端代理604处理对企业的主用户验证,通常是对具有SSO的访问网关(AG)到其他网关服务器组件的主用户验证。客户端代理604从网关服务器606获取管理策略,以控制受管应用程序610在移动设备602上的行为。
在本地应用程序610和客户端代理604之间的安全IPC链接612代表管理通道,这允许客户端代理供应管理策略,所述管理策略将被“包装”每个应用程序的应用程序管理框架614强制执行。IPC通道612还允许客户端代理604供应启用对企业资源608的连接和SSO的凭证和验证信息。最后,IPC通道612允许应用程序管理框架614调用由客户端代理604实现的用户界面功能,诸如在线和离线验证。
客户端代理604与网关服务器606之间的通信基本上为来自包装每个本地受管应用程序610的应用程序管理框架614的管理通道的延伸。应用程序管理框架614从客户端代理604请求策略信息,继而从网关服务器606请求策略信息。应用程序管理框架614请求验证,并且客户端代理604登录到网关服务器606的网关服务器部分(也称为访问网关)。客户端代理604还可调用网关服务器606上的支持服务,这样可产生输入材料,从而为本地数据仓库616派生加密密钥,或提供客户端证书,所述客户端证书可启用对PKI保护资源的直接验证,如下面更全面的说明的。
更具体地,应用程序管理框架614“包装”每个受管应用程序610。这可以通过显式生成步骤、或经由生成后(post-build)处理步骤进行并入。应用程序管理框架614可与应用程序610第一次启动时的客户端代理604“配对”,从而初始化安全IPC通道并获取用于该应用程序的管理策略。应用程序管理框架614可强制执行在本地应用的管理策略的相关部分,诸如客户端代理登录依赖性和限制本地OS服务可如何使用、或它们如何与应用程序610交互的限制策略中的一些。
应用程序管理框架614可使用通过客户端代理604经由安全IPC通道612提供的服务,来促进验证和内部网络访问。用于私有和共享数据仓库616(容器)的密钥管理也可通过受管应用程序610与客户端代理604之间的适当交互进行管理。仓库616可为仅仅在在线验证之后可用,或者如果管理策略允许的话,则可以在离线验证之后可用。仓库616的第一次使用可需要在线验证,并且在再次需要在线验证之前,离线访问可限制于至少大多数的管理策略刷新时期。
对内部资源的网络访问可根据单独的受管应用程序610通过访问网关606直接发生。应用程序管理框架614负责编制代表每个应用程序610的网络访问。客户端代理604可通过提供在在线验证之后获得的适当的时间限制的辅助凭证,促进这些网络连接。可使用多个网络连接模式,诸如反向网页代理连接和端到端VPN式隧道618。
邮件和浏览器受管应用程序610具有特殊的状态,并且可利用通常不可用于任意包装的应用程序的设施。例如,邮件应用程序可使用特殊的后台网络访问机制,该机制允许邮件应用程序在延长的时间段内访问交换(Exchange),而无需全AD登录。浏览器应用程序可使用多个私有数据仓库来分开不同类型的数据。
该体系结构支持多种其他安全特征的并入。例如,网关服务器606(包括其网关服务)在一些情况下将不需要确认AD密码。这样可使企业判断在一些情况中AD密码是否被用作一些用户的验证因素。如果用户为在线或离线(即,连接或未连接到网络)时,则可使用不同的验证方法。
递升式认证(step-up authentication)是一种特征,在这种特征中,网关服务器606可识别受管的本地应用程序610,所述受管的本地应用程序610被允许访问需要强验证的高度分类数据,并且确保对这些应用程序的访问只在执行适当的验证之后允许,即便这意味着在之前较弱水平的登录之后用户需要重新验证。
该解决方案的另一种安全特征是移动设备602上的数据仓库616(容器)的加密。仓库616可被加密,使得包括文件、数据库、和配置的全部设备关联数据(on-device data)被保护。对于在线仓库,密钥可存储在服务器(网关服务器606)上,并且对于离线仓库,密钥的本地拷贝可被用户密码保护。当数据在本地存储在安全容器616中的设备602上时,优选的是使用最小的AES 256加密算法。
其他安全容器特征也可被实现。例如,记录特征可被包括在内,其中在应用程序610中发生的所有安全事件均被记录和报告给后端。可支持数据擦除,诸如如果应用程序610检测窜改时,则相关联的加密密钥可通过随机数据写入,而不在文件系统上留下用户数据被销毁的暗示。屏幕截图保护是另一个特征,其中应用程序可阻止任何数据存储在屏幕截图中。例如,密钥窗口的隐藏特性可被设为是(YES)。这可使得当前在屏幕上显示的所有内容被隐藏,从而得到在正常情况下任何内容将驻留在其中的空白屏幕截图。
本地数据传送可被阻止,诸如通过阻止任何数据在本地传送到应用程序容器之外,例如,通过将数据复制或发送到外部应用程序。键盘缓存特征可操作以禁用敏感文本字段的自动校正功能。SSL证书确认可为可操作的,从而让应用程序专门确认服务器SSL证书,而不是将其存储在密钥串(keychain)中。可使用加密密钥生成特征,使得用于对设备上的数据进行加密的密钥利用由用户供应的密码短语(passphrase)生成(如果需要离线访问)。如果不需要离线访问,则可与在服务器端上随机生成和存储的另一个密钥进行异或(XOR)。密钥派生功能可操作,使得从用户密码生成的密钥使用KDF(密钥派生功能,尤其为PBKDF2),而不是创建其密码散列(cryptographic hash)。密码散列使得密钥易受强力或字典攻击的影响。
另外,在加密方法中可使用一个或多个初始化向量。初始化向量将使得相同加密数据的多个拷贝产生不同的密码文本输出,从而同时阻止重放和密码分析供给。如果用于对数据进行加密的特定初始化向量是未知的,则这还将阻止攻击者解密任何数据,即便使用偷来的加密密钥。另外,可使用认证然后解密,其中应用程序数据只在用户已在应用程序内验证之后才被解密。另一个特征可与存储器中的敏感数据有关,该敏感数据只在其被需要时才保留在存储器中(而不是在磁盘中)。例如,在登录之后,登录凭证可从存储器中擦除,并且加密密钥和目标(objective)-C实例变量中的其他数据未存储,因为它们可易于引用。相反,存储器可被手动分配给这些。
非活动超时(inactivity timeout)可被实现,其中在非活动的策略定义时期之后,用户会话终止。
来自应用程序管理框架614的数据泄露可通过其他方式阻止。例如,当应用程序610被放到后台时,在预定(可配置)时间段之后,存储器可被清空。当被放在后台时,可从应用程序的最后显示屏幕获得快照,以稳定前台进程。快照可包含保密数据,并且因此应被清空。
另一个安全特征涉及使用OTP(一次性密码)620而不使用AD(活动目录)622密码来访问一个或多个应用程序。在一些情况下,一些用户不知道(或者未被允许知道)他们的AD密码,因此这些用户可使用OTP 620来验证,诸如通过使用像SecurID的硬件OTP系统(OTP可由不同的销售商提供,另外,诸如Entrust或Gemalto)。在一些情况下,在用户使用用户ID验证之后,具有OTP 620的文本被发送给用户。在一些情况下,这可以被实现仅仅用于在线使用,并且提示为单个字段。
离线密码可被实现用于那些应用程序610的离线验证,其中针对所述应用程序610,经由企业管理策略允许离线使用。例如,企业可希望通过这种方式访问企业应用商店。在这种情况下,客户端代理604可需要用户设置自定义离线密码,并且不使用AD密码。网关服务器606可提供管理策略,以控制并强制执行相对于最小长度、字符类成分的密码标准,和密码期限(诸如由标准Windows服务器密码复杂性要求描述的,但是这些要求可修改)。
另一个特征涉及用于某些应用程序610的客户端证书作为次级凭证的启用(用于经由应用程序管理框架微VPN特征访问PKI保护的网页资源的目的)。例如,应用程序(诸如电子邮件应用程序)可利用该证书。在这种情况下,可支持使用ActiveSync协议的基于证书的验证,其中来自客户端代理604的证书可通过网关服务器606检索并在密钥串中使用。每个受管应用程序可具有一个相关联的客户端证书,其由在网关服务器606中定义的标签进行识别。
网关服务器606可与企业专用网页服务进行交互以支持客户端证书的发布,从而允许相关受管应用程序验证内部PKI保护资源。
客户端代理604和应用程序管理框架614可增强,以支持获取和使用用于对内部PKI保护网络资源的验证的客户端证书。可支持一个以上的证书,诸如以便匹配各种级别的安全和/或分离要求。证书可被邮件和浏览器受管应用程序使用,并且最终由任意包装的应用程序使用(假设那些应用程序使用网页服务型通信模式,其中应用程序管理框架对HTTPS请求进行协调是合理的)。
iOS上的应用程序管理框架客户端证书支持可依赖于将PKCS 12BLOB(二进制大对象)导入到每个受管应用程序中的iOS密钥串中以供每个时期的使用。应用程序管理框架客户端证书支持可使用具有私有内存中密钥存储的HTTPS实现。客户端证书将绝不存在于iOS密钥串中,并且不保存除非其可能在强力保护的“仅在线”数据值中。
双向SSL也可实现,以便通过要求移动设备602向企业进行验证来提供额外的安全,并且反之亦然。也可实现用于向网关服务器606验证的虚拟智能卡。
受限的和完整的Kerberos支持均可为另外的特征。完整支持特征涉及使用AD密码或受信任客户端证书对AD 622执行完整Kerberos登录的能力,并且获得Kerberos服务票据(service ticket)来响应HTTP协商身份验证挑战。受限支持特征涉及AFEE中的约束委派(constrained delegation),其中AFEE支持调用Kerberos协议转换,从而其可获取并使用Kerberos服务票据(经受约束委派)来响应HTTP协商身份验证挑战。该机制在反向网页代理(又叫做CVPN)模式中有效,并且当在VPN和MicroVPN模式中代理了HTTP(而不是HTTPS)连接时。
另一个特征涉及应用程序容器锁定和擦除,所述锁定和擦除可以在破解或刷机检测时自动发生,并且发生作为来自管理控制台的推送命令,并且甚至当应用程序610未运行时可包括远程擦除功能。
可支持企业应用商店和应用程序控制器的多站点体系结构或配置,其允许在失败的情况下,为来自若干不同位置之一的用户服务。
在一些情况下,可允许受管应用程序610经由API(示例OpenSSL)访问证书和私有密钥。企业的受信任受管应用程序610可被允许用应用程序的客户端证书和私有密钥,来执行特定公开密钥操作。诸如当应用程序表现类似于浏览器并且不需要证书访问时,当应用程序读取关于“我是谁”的证书时,当应用程序使用证书来构建安全会话令牌时,以及当应用程序使用私有密钥进行重要数据(例如交易记录)的数字签署或进行临时数据加密时,各种使用情况可被相应地识别和处理。
用于连接的设备的编配框架
本文所述的方面允许由个体或团体拥有的设备集合以协调、合作的方式使用,其超越了简单的屏幕共享。这种设备的合作协调可基于存储的(针对您的个人设备)、或自组织的基础(诸如当两人共同使用他们的设备时)来完成。
例如,考虑思杰系统公司的软件应用程序。其存在于笔记本电脑、只能电话和平板电脑上。但是,每个平台实质上进行相同的事物,并且设备在被相同的用户使用时不协调地工作。根据一个方面,智能电话可扮演用于会议的麦克风的作用;平板电脑可扮演显示用于会议的视频的作用;以及笔记本电脑可显示会议的屏幕共享单元。
跨设备协调的其他示例包括:分配通过笔记本电脑获得点击的网络链路以在平板电脑设备上显示,以及将已打开的幻灯片(PowerPoint)演示从一个设备传送到另一个设备。
除了对设备分配特定作用同时与设备进行交互的能力之外,各方面允许设备作用的持续分配,以允许多个设备的高效利用,而不需要用户部分的额外交互。例如,在的背景下,这可包括当会议开始时,使得智能电话、麦克风、平板电脑显示视频、和笔记本显示屏幕立即共享。
为解决上述问题和将对于读者明显的其他问题,本文所述的方面将设备整理和编配在一起以允许复杂的多个设备行为,所述复杂的多个设备行为使得物联网(internet ofthings)活灵活现,从而对人们的日常活动产生大的影响。通过本文所述方面解决的一个问题是,当许多不同的设备彼此交互时允许得到行为的用户级定制。如今的一个问题是,尽管许多设备可彼此交互,但它们彼此交互的方式是硬线连接的,并且不能通过系统的用户进行配置。行为的范围是受限的,并且通常受限于来自类似销售商的设备,所述类似销售商已经基于特定的、封闭的用户情况制定了设备如何彼此交互。
使用本文所述的方面,用户可配置不同设备之间的灵活交互,从而允许不同设备在一起协调工作的编配。这允许通常无关的设备在一起工作以触发不同的行为。例如,如果用户具有智能电话、笔记本电脑和平板电脑,则本文所述的方面提供以下示例性的使用情况解决方案:
a.如果用户正在驾驶一辆汽车并且会议开始,则他们不想必须参加会议加入信息-他们只想让会议使用PSTN在电话上呼叫他们,这允许与车内方向盘电话控件的简单集成。
b.但是,如果用户在办公室,则他们想要使用他们当前与其交互的设备。
本文所述的方面为用户提供了根据他们的偏好利用由设备提供的触发来定制这些操作的选择。用户可通过明确地说明这些操作来定制这些操作,或者他们可依赖于观测用户行为并遵循他们的偏好的系统。
上述问题的一个已知解决访问是,手动执行设备之间的编配步骤来实现本文所述软件所提供的特征中的一些,诸如当在车中时通过拨打PSTN桥信息而手动连接到会议,尽管这样操作有危险。
目前不能实现本文所述软件的其他特征,诸如当用户实际不存在时调用的触发,并且用户在无此类特征的情况下生活。针对该问题的有限的已知以往尝试包括诸如网络混搭(web mashups)的解决方案,其包括类似于OnX和IFTTT的技术。但是,这些技术集中于将不同的网站和移动设备的一些特征整合在一起。它们并不是覆盖范围更广泛的是“物联网”的一部分的设备的更广泛的技术。其他已知的技术包括诸如X10、DMX和Zwave的标准。但是,它们是集中于设备和传感器(诸如光、运动传感器)以及家中物品的机动化控制的家庭自动化技术。
图7示出根据本文所述的示例性方面的多设备使用。图7的系统概括了物品跨设备分配的方式、以及用户可触发跨设备交互的方式。如借助于图7中的示例所示,用户可以在一个计算设备处选择内容来与另一个计算设备共享。用户可选择内容来共享,并且然后选择经由编配框架连接的其他计算设备中的一个。在进行选定计算设备(目标计算设备)的选择时,选定内容可被传送到选定计算设备。如图7中所示,可选择性采用各种方法来呈现或显示可用于选作接收选定内容的设备的一组计算设备。在一种方法中,可用于选择的计算设备可从界面的边缘“探”入,作为拖拽操作的可选目标。在另一种方法中,可用于选择的计算设备可作为一组可选图标呈现。在另一种方法中,可用于选择的计算设备可作为计算设备列表中的可选条目呈现。可采用类似的方法,以请求计算设备执行在另一个计算设备处开始的计算活动的至少一部分。另外,作为可用于选择而呈现的该组计算设备可以被动态生成或基于以下进行配置:例如,与计算设备相关联的计算设备,与计算设备的用户相关联的计算设备,与计算设备共址的计算设备,计算设备的操作模式,在计算设备处的应用程序的操作模式,计算设备是否能够呈现内容或执行计算活动,基于计算设备是否被允许呈现内容或执行计算活动,以及将根据本公开的益处理解的另外的或可选的标准。
多设备问题的一个已知解决方案是,通过手动操纵设备上的软件,手动地使特定设备专用于特定的作用。例如,在的背景下,这样可意味着使得笔记本电脑屏幕将会议的视频部分减到最少,从而允许屏幕共享来占据屏幕,并将其监控到室内显示器。这还意味着手动使所有扬声器静音,而不是使智能电话静音,其充当麦克风的作用。还意味着使得平板电脑将的视频显示最大化。一旦在上述完成之后,单个用户表现为在会议中在用户列表中多次连接,这提供了次佳的用户体验。对于其他情况,诸如从一个设备将应用程序启动到另一个设备上,现在没有适当的解决方案。因此,现有解决方案所存在的程度的现有解决方案是费力的、手动驱动的以及容易出错的。
图8示出根据本文所述的一个或多个示例性方面的系统体系结构。图8中的系统示出了负责服务器端设施的云服务、和负责跨设备交互的在客户端设备上运行的多设备(MD)软件。在每个不同类型的客户端设备上的MD软件可根据客户端设备的能力来调整。图8的系统可包括以下项:1)云服务,其提供服务器和后端服务(这可例如使用在Windows Azure中运行的ASP.NET MVC实现);和2)不同的客户端设备,每个代表设备的不同形式因素。笔记本电脑、智能电话、平板电脑和大型室内显示器在图中示出,但也可使用其他设备。
系统的云服务器组件可包括:
a.云文件接口。其负责与底层的云存储资源通信。云存储资源可包括,例如,DropBox、GoogleDocs、Box等。
b.云文件服务。在本例中,其为云存储资源,在本公开的背景下其充当外部数据提供器。
c.设备服务。其负责维护用户具有的全部设备的知识、和每个设备的能力,诸如设备为何种类型、设备能够运行什么应用程序、以及其具有的可用的何种外围设备(诸如摄像机)。
d.设备数据库。该数据库维护由设备服务使用的信息。
e.用户服务。其负责维护全部用户的在系统中可用的知识。其还用于身份管理。
f.用户数据库。其为维护由用户服务使用的信息的数据库。
g.设备管理界面。其为允许系统的用户定义哪些特定作用或允许操作在哪个特定设备上发生的接口。其允许用户定制他们的设备如何针对特定的情况(诸如)表现,或者什么设备将显示网页内容。其使得对什么设备发生的什么情况进行实际排序的工作遵从于编配服务。
h.推送通知服务。其负责利用由iOS、Android、Windows、和其他服务使用的推送通知框架通知设备它们需要采取操作。
i.编配服务。其负责协调与使得设备显示某些内容有关的不同操作。其为系统内的中心点,并且向全部其他组件发布指令。
系统的客户端组件可相同,无论设备的种类如何。但是,实现细节可根据底层平台改变。客户端组件可包括:
a.云文件接口。其负责与云存储资源(例如,DropBox、GoogleDocs、Box)通信。
b.应用程序解析器。其负责确定如何对请求做出操作从而参与跨设备请求。例如,如果用户想要将平板电脑用作的视频渲染器,则解析器确定该请求包括只在视频输出模式下启动
c.通知接口。处理从服务器接收的通知,以参与跨设备行为。
d.应用程序启动器。在需要被送至设备的任何数据在设备上之后,在设备上启动合适的应用程序。
e.存在子系统。确保云服务知晓设备是在线的和可用的。其还可传送位置信息或NFC相关信息,这些信息可被服务器用于确定设备是否为共址的。
f.编配代理。其负责编配与跨设备活动有关的工作项目,使得用户可以最少的介入完成他们的目标。例如,如果幻灯片演示被从另一个设备传送到该设备,则编配代理确保该演示在设备上可用,并且如果需要的话,将该演示下载到设备上。编配代理然后利用应用程序解析器确定启动应用程序的合适方式,并且然后使用应用程序启动器来启动应用程序。
作为这些组件如何合作来解决上述问题的示例性示例,下面描述了在其中用户想要启动多设备(或类似服务)的使用情况场景期间的执行流程,并且然后在另一个设备上显示到链接被点击的网络链接。
起初,在会议之前,用户具有在他/她的笔记本电脑上运行的MD软件客户端。在笔记本电脑上的客户端的存在子系统与云服务的设备服务通信,以指示设备是可用的。在用户的智能电话和平板电脑上的客户端的存在子系统指示设备是可用的。在进行会议时,编配服务决定开始会议的时候。编配服务咨询设备服务,以确定什么设备可用于用户。设备服务利用设备数据库来确定用户具有什么设备并且它们的状态是什么。编配服务使用推送通知服务将消息发送到活动的设备,所述消息为用户已在MD软件注册。客户端上的通知接口接收会议将要开始的通知,并将该通知传送到编配代理上,这确保用户被询问他们是否想要加入会议。编配代理使用应用程序解析器来确定开始给定作用的会议需要什么应用程序和什么参数。该信息可针对每个设备不同。例如,笔记本电脑可被提供指示只使用屏幕共享的信息,而平板电脑可被提供指示只使用视频的信息。编配代理使用应用程序启动器以合适的信息来开始该顺序可针对用户的活动设备中的每个出现。
在会议结束时,用户然后决定利用他/她的平板电脑来显示用于在平板电脑上点击的链接的网页内容。用户在网页浏览器中点击链接。所使用的网页链接被MD软件拦截。MD软件将该链接发送到云服务处的编配服务。编配服务使用设备服务来确定平板电脑是否可用。编配服务向推送通知服务发送请求,以将推送通知发送到平板电脑设备。客户端上的通知接口接收来自云服务的请求,并将该请求传送到编配代理上。编配代理使用应用程序解析器确定启动特定的网页链接需要哪个应用程序和什么参数。在本例中,送回的信息是需要使用内部网页浏览器,并且该消息被传送到浏览器。编配代理使用应用程序启动器以利用从其他机器传送的信息来启动网页浏览器。
使用本文所述的方面,MD软件克服了以互补的方式高效地合作使用多个设备所涉及的困难。在无MD软件的情况下,多设备不能以互补的方式协调合作。每个设备可显示应用程序和内容,但没有跨多个设备编配的连贯性或能力。
使用MD软件,例如,为用户/企业提供了在协作系统中使个人的设备与他们的身份相关联的能力。协作系统(诸如)目前不具有用于用户的设备的任何特定关联,并且因此不能针对不同设备利用预先分配的作用。MD软件还提供了使设备与空间或一组人员相关联。示例包括会议室设备,诸如与空间相关联的智能显示器和扬声器电话。这些资产然后可通过占据该空间(暂时分配)的组进行共享,或者被永久性地分配到逻辑人员组。MD软件还提供以应用程序(原生的、虚拟的、网页等)的形式跨设备移动/分配交互的能力,其中应用程序具有相关连的内容和优选项,所述移动/分配的方式为无缝地跨设备分配工作。MD软件还提供跨设备搭建(scaffold)背景/状态以提供更好的用户体验的能力。例如,在开始协作时,会议自动启动到全部用户的设备上,并且每个设备启动其特定作用。MD软件还可提供设备的背景。
使用MD软件,例如,为用户/企业提供了在协作系统中使个人的设备与他们的身份相关联的能力。协作系统(诸如)目前不具有用于用户的设备的任何特定关联,并且因此不能针对不同设备利用预先分配的作用。MD软件还提供了使设备与空间或一组人员相关联。示例包括会议室设备,诸如与空间相关联的智能显示器和扬声器电话。这些资产然后可由占据该空间(暂时分配)的组进行共享,或者被永久性地分配到逻辑人员组。MD软件还提供以应用程序(原生的、虚拟的、网页等)的形式跨设备移动/分配交互的能力,其中应用程序具有相关联的内容和优选项,所述移动/分配的方式为无缝地跨设备分配工作。MD软件还提供跨设备搭建(scaffold)背景/状态以提供更好的用户体验的能力。例如,在开始协作时,会议自动启动到全部用户的设备上,并且每个设备启动其特定作用。MD软件还提供将用作用于另一个设备(例如平板电脑)的信息的设备的背景(诸如电话的位置)。MD软件还提供在协作系统中使用设备分配/移动来提供设备特定作用的能力。示例包括充当扬声器电话的智能电话、充当虚拟化身(avatar)的平板电脑、或充当摄像机的任何设备。MD软件还提供目标粘贴,例如,允许应用程序为设备中的一个设备上的粘贴目标,在相关联设备中的任一个上的后续拷贝获得自动粘贴到粘贴目标中。这将典型的拷贝和粘贴操作的开销减掉一半。MD软件提供使得自然用户交互(声音、触摸、手势、键盘等)操作在一个设备上的方法和系统,其允许全部设备进行响应。示例为将应用程序(app)(例如电子邮件)的焦点带到设备中的任何设备的前面。
使用本文所述的方面,通过减少手动配置和协调,简化多设备的使用。其他方面提供在设备之间共享世界知识/状态来增强用户体验的能力。这样减少了冗余信息条目。一些方面提供通过减少由于应用程序、数据、和背景被锁定到设备中而造成的冲突,来迅速地跨设备分配活动的能力。其他方面将复制/粘贴工作减掉一半。一些方面提供跨设备自然用户交互(NUI),其允许能力较小的设备参与自然交互。其他方面提供在任何设备上将app迅速带到前面的能力,无论之前app在什么设备上。这允许应用程序之间的较快移动,例如,“在我的平板电脑上显示电子邮件”。
根据另一个方面,另外的应用程序可获益于MD软件(例如,在虚拟化环境中的客户端代理软件)的使用。MD软件可使得能够将客户端代理应用程序从一个设备迁移到另一个设备。这可以使用推送驱动的Smooth Roaming执行,其为软件(诸如来自)所提供的特征。MD软件的其他方面可提供跨设备共享网页浏览器会话的状态的能力。MD软件的其他方面可提供自组织设备发现,其使用技术(诸如NFC)并使用编配服务和编配代理来针对设备分配作用。其他示例蓝牙(Bluetooth)、无线直接接入或者甚至如播放人类听不见的音调一样简单的某物和搜集该音调的设备,可返回报告并且因此必须是共址的。
图9A示出根据一个或多个示例性方面的系统体系结构。图9A描绘可使用的一般结构。其示出负责服务器端设施和在客户端设备上运行的新的动态软件的云服务。
系统体系结构可包括至少三个不连续的子系统:1)云服务,其提供后端服务(作为一个示例,这可使用在Windows Azure中运行的ASP.NET MVC实现);2)客户端设备,其运行用户与之交互的软件以便协作,延迟的工作、应用程序和其他软件。该软件可以在平台上运行,除了别的之外,所述平台为诸如Windows、iOS、Android、Mac或智能TV;以及3)因特网启用的传感器,诸如运动传感器、光传感器、温度传感器。
系统的云服务组件包括:
a.设备服务。其维护用户具有的全部设备的知识、和每个设备的能力,诸如设备为何种类型、设备能够运行什么应用程序、以及其具有的可用的何种外围设备(诸如摄像机)。
b.设备数据库。该数据库维护由设备服务使用的信息。
c.用户服务。其维护全部用户的在系统中可用的知识。其对于身份管理是必要的。
d.用户数据库。其维护由用户服务使用的全部信息。
e.PSTN接口。其为经由公共交换电话网(PSTN)主动联系用户的接口。
f.推送通知服务。其利用由iOS、Android、和Windows(等等)使用的推送通知框架通知设备它们需要采取操作。
g.编配服务。其基于不同的事件协调不同的操作、或者触发该发生。该编配服务可包括以下组件:
1.触发处理器。其接收来自不同的外部源(诸如传感器和客户端)的与何时发生特定事件相关的输入,其可充当发生不同操作的触发。
2.规则服务。其确定当特定事件、或触发发生时执行什么操作。该规则服务是确定当某事发生时执行何操作的系统核心。
3.操作发生器。其基于根据规则服务生成的结果操作针对给定的触发为何种操作,解释需要发生的操作序列。
h.规则数据库。其维护由编配服务和规则服务使用的信息,所述信息确定软件如何基于不同的触发进行表现。
i.编配接口。其为系统的用户提供针对不同的设备、事件和触发定制系统行为的接口。用户通过该接口对系统进行定制。
系统的客户端组件可相同,无论设备的种类如何。但是,实现细节可根据底层平台改变。客户端组件可包括:
a.应用程序解析器。其负责确定如何对包括启动应用程序的请求做出操作。例如,如果用户想要在他们进入车中的时候在他们的平板电脑上启动Google地图,则应用程序解析器确定怎样启动Google地图-其为网页应用程序、原生应用程序、或客户端代理发行的应用程序。
b.通知接口。其基于来自服务器端的信息,处理从服务器接收的通知。
c.应用程序启动器。其在设备上启动合适的应用程序。
d.存在子系统。其确保云服务知晓设备是在线的和可用的。
e.编配代理。其编配与使得被延迟且分配的工作可能发生相关的工作项目。这包括任务,诸如开始会议来响应来自服务器的事件、触发客户端的验证和一般协调。编配代理可包括以下组件:
1.触发处理器。其接收来自不同的外部源(诸如传感器和客户端)的与何时发生特定事件相关的输入,其可充当发生不同操作的触发。
2.规则引擎。其确定当特定事件、或触发发生时执行什么操作。该规则服务是确定当某事发生时执行何操作的系统核心。
3.操作发生器。其基于根据规则引擎生成的结果操作针对给定的触发为何种操作,解释需要发生的操作序列。
为了示出这些组件如何合作以解决软件解决的问题,以下示例使用情况场景示出了用户将如何设置规则以确保,如果当会议开始时他们正在驾驶汽车,则系统应当在PSTN上呼叫用户以让他们加入会议。
起初,用户将他们的网页浏览器指到编配接口。用户输入具有以下定义的规则:
a.设为“如果会议开始”的触发。
b.设为“我的智能电话中的运动传感器或GPS指示我正以大于5km/h的速度移动”的背景条件。
c.设为“呼叫特定的电话号码并且自动转接我到会议”的操作。
输入到编配接口中的规则被发送到规则服务,其将信息写入到规则数据库中。此时,规则均在服务器上建立。规则服务指示设备服务向每个设备发送具有新规则的消息。客户端设备上的存在子系统与设备服务进行通信,以指示设备是存在的。客户端接收回应,该回应指示其需要更新其规则。客户端上的规则引擎从规则服务请求应用于设备的最新规则组。规则服务向客户端返回提供信息,客户端以其内部规则引擎的配置存储信息。既然客户端知晓关于由用户指定的规则,则其可将与该规则的状态相关的信息发送到服务器。因此,在这种情况下:
a.每当存在子系统想要通知服务器其状态时,客户端上的触发发生器接收消息。
b.客户端上的规则引擎确定需要被送回服务器的与设备的运动/速度相关的信息。
c.规则引擎使用客户端上的动作处理器,将信息附加到通过存在子系统送回到服务器的数据。
服务器端上的设备服务接收与设备的存在有关的消息、和来自客户端的规则信息,所述信息传送到触发处理器,触发处理器将所述信息传送到规则服务上。规则服务相对于与会议开始和运动传感器速度有关的规则更新其与设备的状态有关的信息。当会议到时间开始时,触发处理器接收来自监控用户的日历的外部服务的消息。触发处理器将与会议开始有关的消息传送到规则服务。规则服务咨询规则数据库,并确定存在由于会议的开始而被触发的规则。规则服务就进一步的信息对规则数据库进行咨询,所述信息关于用于规则的背景条件如何与客户端设备的状态。从客户端接收的最新状态指示设备是移动的,并且用于规则的背景条件评估为真,即,执行规则的操作。
规则服务将规则评估的结果传送到操作发生器。在这种情况下,其传送以下操作,所述操作为在指定电话号码上呼叫用户。操作发生器创建需要呼叫电话的指令的顺序。操作发生器向PSTN服务发布请求,以做出对指定电话号码的电话呼叫。PSTN服务呼叫所请求的电话号码,并且连接到用户的电话。操作发生器向PSTN服务发布请求,以调用合适的指令将用户转接到他们到时间参加的会议中。此时,用户在驾驶时连接到会议,无需使其眼睛离开道路或将复杂的序列输入到他们的智能电话中。
本文所述的软件和系统克服了当用户具有可合作使得任务自动化的若干设备时可出现的困难,然而其并未配置在箱外,以便允许该编配,或者不允许编配的灵活性。本文所述的方面因此提供根据多种设备来定义推断的背景的(暂时的、地理环境的、情境的)和明确的(来自自然跨设备交互的全部形式)的触发。各方面还提供针对设备定义操作以便基于根据设备背景确定的触发执行的能力,并且其中还针对规则定义来定义操作,该规则定义可基于推导引擎而被激发,从而允许跨设备的复杂自动行为。各方面还提供问题和答案接口来改善期望的行为,以及根据学习或观察跨设备的用户行为来学习设备行为如何触发的能力,而不是仅仅依赖于用户明确地脚本写出行为。例如,学习用户在他们响应类似会议通知的某件事情时做什么,以及下次重复该行为,诸如使他们的麦克风自动静音,或者将其设为特定音量。各方面还提供根据问题和答案或如果(if)/那么(then)/其它(else)类型的接口来学习设备行为的能力。
虽然存在可用的现有规则引擎和自动框架,它们通常涉及一个特定的应用程序或设备。在本公开中描述的方法的各方面跨越用户具有的多个设备和应用程序。这提供若干优势,包括提供一种能力,该能力提供设备集中合作的将来验证行为,即使它们未被明确地设计成彼此合作。本文所述的方面还提供定义简单触发、操作、和行为规则的能力,以提供在其他解决方案中在箱外不可用的灵活性级别。各方面还提供基于问题和答案类型的接口来学习系统行为的能力,和/或通过观察用户如何使用系统可使得定制用户可访问(而无需任何编程背景)的能力。
本文所述的其他方面通过提供学习设施、问题和答案类型的接口和传统的编写脚本方法为用户提供定制编配的能力。编配软件可适用于用户如何与系统交互,并基于与用户行为来调整规则。因此,系统可基于系统的用户的所观察的行为学习新的交互和规则。
如上面提到的,可使用云服务在计算设备处共享各种类型的内容,例如,用于跨设备文件共享、URL共享、和复制和粘贴功能。后端云服务有利地允许跨设备仅使用安装在各种设备处的多设备客户端共享跨越不同的操作环境。跨设备共享的内容可为驻留在设备处的任何事物,包括例如,文档文件、图像文件、视频文件、存档文件、软件应用程序、URL、基于文本的内容、演示会议等等。另外,用户可以与他们所关联的设备(例如,个人移动电话、个人笔记本计算机、个人平板计算机等)来共享内容,并且可以与其他个体相关联的设备来共享内容。
在一些示例具体实施中,用户可选择与其共享的特定设备选定内容。在其他示例具体实施中,云服务可自动确定与哪个设备共享内容。云服务可基于以下进行确定:例如,共享内容的类型、当前连接到云服务的设备等等。云服务的该基于背景的做出决定有利地为用户提供了无缝且不显眼的工作流。然而,允许用户选择将与其共享的设备内容有利地为用户提供了对于他们的共享内容的目标的更多控制。因此,应当理解,云服务可以被选择性地配置成根据用户的选择、根据目前的背景、根据文件共享规则设定、或上述的组合,在设备之间共享内容。
如上面提到的,编配框架还可以经由对等通信会话,使计算设备互连从而作为协调整体操作。图9B示出其中编配代理经由对等通信回话互连的示例具体实施。编配代理可仍然允许计算设备访问,例如,云存储资源、规则数据库、设备数据库、和上述用户数据库。应当理解,编配框架的各方面适用于对等背景以及客户端-服务器背景。
字处理应用程序(例如,Microsoft word)是其中编配框架可跨越多个互连的设备分配应用程序的操作的应用程序的一个示例。在本例中,桌面计算设备可启动字处理应用程序,并且请求电视显示设备呈现来自应用程序的输出,例如,被编辑的文档。编配框架可跨越其他互连的计算设备分配应用程序,使得可从与桌面应用程序互连的其他计算设备接收到用于字处理应用程序的输入。例如,在笔记本电脑设备处的用户可以在笔记本电脑的键盘处提供输入,以便编辑文档,并且在平板电脑设备处的另一个用户可以在触摸屏键盘处提供输入,以便编辑文档。如此,用户可与其他设备共享文档,同时访问在第一设备处的文档。
在另一个示例中,如果设备中的一个不具有执行计算活动所需的硬件或软件,则互连的设备可彼此协作。在本公开中,在线会议作为一个示例提供,在所述示例中,计算设备可经由编配框架互连,其中所述编配框架协调跨越计算设备的计算活动的操作。在一个特定示例中,用户在加入会议中时可以只访问蜂窝电话和电视显示设备。在本例中,电视显示设备可以不具有音频输入设备,并且蜂窝电话可以不具有适当的视频输出设备。因此,编配框架可协调蜂窝电话和电视显示设备的操作,以使得用户能够加入到在线会议中。在蜂窝电话设备和电视显示设备处的相应的编配代理可经由编配框架如借助图9B中的示例示出方式连接设备。在在线会议期间,编配框架可因此使得在线会议的视频在电视显示设备处呈现,并且使得来自用户的音频从蜂窝电话设备的麦克风接收以用于在线会议。另外的或可选的示例将被理解。
图10为用于跨设备文件共享的示例方法步骤的流程图1000。用户可操作计算设备,其中各种计算机文件驻留在所述计算设备处。用户可选择文件中的一个与另一个设备共享(方框1002)。利用选择的文件,用户可发出跨设备共享请求(方框1004)。用户可经由,例如,键盘快捷键、菜单选择等发出跨设备共享请求。在发出跨设备共享请求时,多设备客户端可以在设备处启动或激活(方框1006)。
多设备客户端可呈现目标列表,其中用户可将选定的文件传送到所述目标(方框1008)。目标列表可包括对应于与用户相关联的计算设备的行项(line item)以及对应于个体的行项。如上面提到的,用户可选择与该用户或个体相关联的个人设备,以将选定文件发送至此。还如上面提到的,行项列表可包括与列出的个体相关联的设备,并且用户可选择与个体相关联的哪个设备以将选定文件发送至此。如果用户选择个体而不是设备,则云服务自动确定与选定个体相关联的哪个设备以将选定文件发送至此。应当理解,个体列表还可包括用户,并且用户的选择可将选定文件发送到与用户相关联的不同设备。
如上面提到的,关于将选定文件发送至其的哪个设备的确定可基于用户选择、背景、或规则设定。用户可手动选择哪个设备或个体以将选定文件发送至此。除此之外或作为另外一种选择,云服务可确定哪个设备当前连接到云服务,并且自动选择这些设备中的一个来接收选定文件。云服务还可基于选定文件的类型来自动选择设备。例如,当文件为音频文件时,云服务可选择音频设备来接收选定文件。又如,当文件为视频文件时,云服务可自动选择大型显示设备来接收选定文件。云服务还可采用一个或多个规则设定来确定哪个设备应当接收选定文件。用户可根据他们的偏好来修改规则设定,并且规则可将与用户(例如,用户作用、位置等)、设备(例如,设备类型等)、选定文件、和上述的组合相关联的各种特性考虑在内。文件共享的该基于规则的方法可有利地提供在定制云服务如何自动跨设备共享文件时的更大的灵活性。
另外,目标列表可为背景敏感的,使得包括在列表中的目标取决于各种因素。在一个示例具体实施中,多设备客户端可基于潜在设备目标的能力,而动态地过滤目标列表。鉴于此,多设备客户端可知晓各种设备的能力。云服务可维持对应于连接到云服务的每个设备的能力信息,并将该能力信息提供到多设备客户端。继而,当构造目标列表时,多设备客户端可利用该能力信息。如果潜在设备目标不能打开选定文件,则多设备客户端可将该设备目标从目标列表中排除。如此,多设备客户端可修改目标列表,以便只包括具有打开选定文件的能力的那些设备。多设备客户端可基于另外的或可选的标准来修改目标列表。例如,包括在目标列表中的个体可为用户所参加的正在进行的会议的参与者。应当理解,多设备客户端可采用标准的组合来构建目标列表。
返回参考图10,用户可从目标列表中选择一个目标而将选定文件发送至此(方框1010)。在选择了目标之后,多设备客户端可将选定文件上传到远程文件共享服务,该远程文件共享服务存储选定文件(方框1012)。多设备客户端可然后通知云服务选定文件在文件共享服务处可用(方框1014)。对云服务的通知可包括,例如,用于文件的选定目标、文件在文件共享服务处的位置(例如,对应于文件的URL)等等。云服务然后可通知目标设备文件在文件共享服务处可用(方框1016)。对目标设备的通知可类似地包括文件在文件共享服务处的位置。
在目标设备处的多设备客户端可做出不同的响应,这取决于用户是否与关联于该用户的设备(例如,另一个个人设备)或关联于另一个个体的设备共享了文件。例如,当接收方已通过编配框架修改了共享文件时,发送方可被通知,例如,其中两个用户跨越时间和空间合作。在一些情况下,发送方出于共享的目的推送文件,并且不在乎文件是否曾经被修改。在其他情况下,发送方可出于合作的目的来共享文件,并且不在乎当文件改变时被通知。具体地,当另一个用户共享文件时,多设备客户端可以在移动设备处呈现不显眼的通知。如此,多设备客户端可避免妨碍用户,同时参与其他计算活动。如图10所示,如果目标设备不是共享了文件的用户的个人设备(方框1018:否),则在目标设备处的多设备客户端可显示一个通知,该通知为已与目标设备共享了新文件(方框1020)。当接收到共享文件的通知时,多设备客户端可向接收方提供接受或拒绝共享文件的选项。如果接收方不接受共享文件(方框1022:否),则多设备客户端可等待(方框1024)直到接收方接受共享文件,例如,通过提供请求接收共享文件的输入。当接收方接受共享文件时(方框1022:是),多设备客户端可从文件共享服务取回文件(方框1026)。文件共享服务可相对于多设备客户端所驻留的设备是远程定位的,并且可以是可访问的,例如,经由因特网访问。因此,多设备客户端可使用对应于共享文件在文件共享服务处的位置的URL,来提交对于文件共享服务的请求。多设备客户端可从文件共享服务下载文件,并在目标设备处启动合适的应用程序来打开文件(方框1028)。
在一些示例具体实施中,多设备客户端可经配置自动对文件共享做出响应。因此,如果目标设备为共享了文件的用户的个人设备(方框1018:是),则多设备客户端可以在通知共享文件时,自动从文件共享服务取回共享文件(方框1030)。当多设备客户端接收来自文件共享服务的共享文件时,多设备客户端还可自动在目标设备处启动合适的应用程序来打开共享文件。
应当理解,上述示例方法提供了快速且高效的共享方式,例如,电子邮件附件。取代转发或创建新的电子邮件来共享电子邮件附件的是,用户可使用云服务共享电子邮件附件,所述云服务使得共享过程流线化。上述示例方法还提供与其他设备或个体共享在线演示或会议的快速且高效的方式。取代用户启动或登录以加入现有会议的是,用户可使用云服务与另一个个体共享会议信息和细节,并且该会议可以在个体所使用的设备处自动启动。类似地,云服务允许参与者将在一个设备处呈现的正在进行的会议传送到与该参与者相关联的另一个设备。例如,个体可使用桌面计算设备参与在线会议。如果个体出于任何原因需要离开桌面设备,则个体可使用云服务将会议传送到移动设备,诸如平板计算设备或移动电话设备。如此,用户在参与在线会议时并未绑定到任何特定的设备,并且可以有利地在参与会议的同时在设备之间转移。
图11为用于跨设备URL共享的示例方法步骤的流程图1100。与选择文件进行共享类似,用户可选择URL来共享(方框1102),例如,通过高亮显示URL。用户可然后如上述发出跨设备请求(方框1104)并启动多设备客户端(方框1106)。用户可从目标列表中选择目标(方框1108),例如,另一个设备或个体。选择目标之后,多设备客户端可将URL上传到云服务中(方框1110)。云服务可类似地通知共享URL的目标设备(方框1112)。通知可包括共享URL。
正如共享文件,在目标设备处的多设备客户端可做出不同的响应,这取决于目标设备是否与共享了URL的用户或另一个个体相关联。如上面提到的,如果目标设备并不是共享了URL的用户的个人设备(方框1114:否),则多设备客户端可显示指示共享URL的通知(方框1116),以避免在目标设备处发生其他计算活动的任何中断。如果个体不接受共享URL(方框1118:否),则多设备客户端可等待(1120)直到接收到指示共享URL的接受的输入。当接收方接受共享URL时(方框1118:是),多设备客户端可以在目标设备处开始启动网页浏览器,并发出对共享URL的请求(方框1122)。如果用户共享了URL的另一个个人设备(方框1114:是),则在目标设备处的多设备客户端可自动开始启动网页浏览器,并请求共享URL(方框1124)。
云服务可经配置以背景敏感的方式共享URL。具体地,云服务可识别用于不同类型的在线资源的URL,例如,基于文本的网页和视频共享网页。因此,云服务可基于URL类型自动选择目标设备。例如,云服务可识别URL地址链接到视频共享网站,并且作为响应,选择大型显示设备将URL与之共享。如此,云服务可有利地将URL与适于呈现由URL寻址的内容的设备共享。又如,云服务可识别URL地址连接到基于文本的网站,并且作为响应,选择平板电脑设备或桌面设备将URL与之共享。云服务还可采用规则设定来确定与哪个设备共享URL。例如,URL共享规则设定可列出各种网站以及当共享与这些网站相关联的URL时,云服务应当选择的设备或设备的类型。用户可根据他们的偏好对规则设定进行配置,以便定制在共享URL时的云共享服务的行为。规则设定可与单独用户相关联,以便在这些用户共享URL时进行使用,并且除此之外或作为另外一种选择,云服务可维持适用于全部用户的全局规则设定。
图12是用于跨设备复制和粘贴功能的示例方法步骤的流程图1200。一般来讲,用户可以在一个设备处选择内容,并将内容复制到在云服务处的粘贴板,其它用户可从该粘贴板将内容粘贴在他们自己的设备处。用户可首先选择内容来共享(方框1202),例如,通过高亮显示文本或以其他方式选择内容。用户可然后如上所述发出跨设备请求(方框1204),并且多设备客户端可启动或以其他方式激活(方框1206)。多设备客户端可然后将内容上传到云服务的全局粘贴板(方框1208)。全局粘贴板对应于在云服务处的存储位置,该存储位置对连接到云服务的设备中的至少一些是可访问的。
当用户将内容复制到全局粘贴板时,云服务通知连接到云服务的设备中的一个或多个新的粘贴板内容可用(方框1210)。用户可利用多设备客户端将全局粘贴板内容粘贴到他们各自的设备处。多设备客户端可将针对全局粘贴板内容的请求发送到云服务。当云服务接收该请求时(方框1212),云服务可将全局粘贴板内容下载到设备(方框1214)。在接收到来自云服务的全局粘贴板内容之后,用户可将内容粘贴到设备处的应用程序中(方框1216)。
如上所述,设备可以不具有打开与该设备共享的文件的能力。例如,用于打开共享文件的应用程序可能未在目标设备处安装。然而,云服务可多设备客户端可经配置处理这样的情况,所述情况为目标设备不具有打开共享文件的能力。如下面更详细的描述,云服务可自动启动具有打开共享文件的能力的虚拟环境,并且多设备客户端可启动虚拟化客户端,以便当目标设备不能打开共享文件时,虚拟化客户端连接到虚拟环境。
图13是用于在目标设备处启动共享文件的示例方法步骤的流程图1300。云服务可如上论述接收共享文件的通知(方框1302)。云服务可然后确定目标设备是否能够打开共享文件(方框1304)。如上面提到的,云服务可存储设备能力信息,并且因此知晓连接到云服务的设备的能力。当连接到云服务时,设备可在协商过程期间向云服务提供它们各自的能力信息。如果目标设备能够打开共享文件(方框1306:是),则设备然后从云存储服务下载文件,并且然后设备可启动合适的应用程序(例如,自动地或响应于接受共享文件的输入的接收,如上论述)来打开共享文件。
如果目标设备不能打开共享文件(方框1306:否),则云服务可开始创建虚拟环境(方框1310)。云服务自身可在本地创建并维持虚拟环境,或者除此之外或作为另外一种选择,相对于云服务远程定位的虚拟化服务器可创建并维持虚拟环境。虚拟环境可配置有打开共享文件的能力(方框1312)。例如,虚拟环境可被配置成包括用于打开共享文件的应用程序。虚拟环境还可具有共享文件(方框1314)。例如,云服务可为虚拟环境提供共享文件在文件共享服务处的位置,并且在虚拟环境处的多设备客户端可从文件共享服务检索文件。鉴于此,虚拟环境也可被认为是共享文件的目标。
一旦虚拟环境从文件共享服务检索共享文件,虚拟环境可启动虚拟化应用程序以打开共享文件(方框1316)。在目标设备处的多设备客户端可启动虚拟化客户端(方框1318),并且虚拟化客户端可连接到虚拟环境(方框1320)。如此,用户可有利地跨设备共享文件,其中所述设备可以未被装配以打开这些文件。更具体的示例可包括只使用3D建模软件才能打开的3D格式的计算机文件。移动电话可以不配备有打开3D文件的必要软件。使用上述云服务和虚拟化方法,虚拟环境可启动3D建模软件的虚拟化实例,并且在移动电话处的虚拟化客户端可连接到虚拟环境以访问与移动电话设备共享的3D文件。根据本公开的益处,将理解其他实际用途。
具有多个操作模式的应用程序和设备
用于在移动设备上管理企业应用程序的改善的技术允许用户从他们自己的移动设备访问企业应用程序,其中企业应用程序与用户自己的个人应用程序和数据安全共存。企业移动应用程序以这样的方式被专门创建或调整,所述方式为它们被迫通过相应的应用程序管理策略与移动设备上的其他应用程序和服务进行交互。在移动设备上运行的每个企业移动应用程序具有相关联的管理策略,通过该管理策略,所述每个企业移动应用程序与其环境交互。管理策略选择性地根据由企业建立的规则,阻止或允许包括企业应用程序的活动。在移动设备上运行的企业应用程序一起形成受管应用程序组。与受管应用程序中的每个相关联的管理策略包括其他受管应用程序中的每个的记录。通常,用于与受管应用程序进行交互的策略设置与用于与其他应用程序进行交互的策略设置不同,即,其非受管组部分的应用程序,诸如用户的个人移动应用程序。受管应用程序通常被允许与其他受管应用程序)交换数据,但被阻止与其他应用程序(诸如用户自己的个人应用程序交换数据。在一些示例中,受管应用程序的应用程序管理策略被配置成允许在其他应用程序中遵循或打开存在于一个受管应用程序中的链接和/或图标,只要其他应用程序也是受管应用程序。
例如,受管的电子邮件应用程序可通过其管理策略被配置成允许附件在受管的PDF编辑工具(annotator)中打开。但是相同的受管电子邮件应用程序可被配置成阻止相同的附件在非受管组部分的PDF编辑工具中打开。
通过约束受管应用程序通过企业实施的管理策略在移动设备上交互,因此可使得受管应用程序组与受管应用程序组中的其他应用程序一起操作,但是可被阻止与非受管组的一部分的应用程序一起操作。因此可阻止企业信息从受管应用程序组泄漏,因为可为个人信息到受管应用程序组中的接收。某些实施例涉及在移动设备上管理企业的应用程序的方法。方法包括在移动设备上安装企业的受管应用程序组,其中非受管应用程序组的部分的其他应用程序安装在移动设备上。方法还包括接收应用程序管理策略集,其中受管应用程序组中的每个与应用程序管理策略集中的相应管理策略相关联。方法还包括选择性地允许受管应用程序组中的第一应用程序向安装在移动设备上的第二应用程序提供数据,来响应访问第一应用程序的管理策略和从第一应用程序的管理策略中读取指示,其中所述指示为第二应用程序是受管应用程序组的成员,并且选择性地阻止第一应用程序向安装在移动设备上的第三应用程序提供数据,来响应访问第一应用程序的管理策略并且无法从第一应用程序的管理策略读取指示,其中所述指示为第三应用程序为受管应用程序组的成员。
用于在移动设备上管理企业应用程序的改善的技术允许用户从他们自己的移动设备访问企业应用程序,其中企业应用程序与用户自己的个人应用程序和数据安全共存。
安全数据共享是通过创建可彼此共享文件和/或数据的受管应用程序组完成的,但其被选择性地阻止与非受管组部分的应用程序共享文件和/或数据。因此,实现两个目标:(1)阻止数据从受管组泄漏和(2)允许数据在受管组内的应用程序之间共享。图14示出在其中可实践本文实施例的示例环境。在这里,移动设备1410(诸如智能电话、平板电脑、PAD等等)已在其上安装有各种移动应用程序。移动应用程序包括受管应用程序1422、1424、和1426的组1420,以及个人应用程序1430。在一些示例中,企业活动管理(EMM)客户端1440也安装在移动设备1410上。EMM客户端1440被配置成,例如,经由网络(诸如因特网)与EMM服务器1450连接,该EMM服务器1450通常包括验证服务器1452和应用商店1454。EMM客户端1440的示例是可购买自Citrix的客户端代理。EMM服务器1450的示例是提供对企业资源和/或云资源的访问的网关服务器。受管应用程序组1420中的每个应用程序与相应的管理策略相关联。例如,应用程序1422与管理策略1422a相关联,应用程序1424与管理策略1424a相关联,并且应用程序1426与管理策略1426a相关联。在一些示例中,管理策略1422a、1424a、和1426a以文件(诸如XML或JSON文件)的形式提供,其中相应的管理策略被表达为键/值对的组。在示例中,每个管理策略1422a、1424a、和1426a包括受管应用程序组1420内的全部应用程序的记录。受管应用程序组1420中的每个被专门设计或改造成与企业一起使用。受管应用程序组1420中的一些可被专门设计用于企业。受管应用程序组1420中的其他是更广泛使用的应用程序(例如,可用于公众),它们已被专门改造成与企业一起使用。受管应用程序组1420中的每个包括使得应用程序能够符合企业框架的插入的代码。可使用SDK将插入的代理编译到应用程序中。另选地,插入的代码可被实施为通用应用程序周围的包装器,以使其适于与企业一起使用。一般来讲,插入的代码用于将来自应用程序的API调用转移到其相关联的管理策略,使得管理策略可以选择性地允许或阻止由API调用指定的活动。
在典型的操作中,移动设备1410的用户启动EMM客户端1440,经由验证服务器1452登录到EMM服务器1450,并且访问应用商店1454。用户可然后查看得自应用商店1454的企业应用程序,选择期望的应用程序,并将它们下载到移动设备1410上,其中下载的应用程序包括在受管应用程序组1420中。对于下载的每个应用程序,也将对应的管理策略下载到移动设备,并且更新组1420中全部应用程序的管理策略来反映组1420的全部成员。在示例中,管理策略(例如,1422a、1424a、和1426a)周期性地和/或响应于特定事件而被刷新,其中所述事件为诸如每次相应的应用程序启动和/或每次用户登录到EMM服务器1450上。管理策略可因此随时间调整,并且被动态地从EMM服务器1450传送到移动设备1410。
根据管理策略1422、1424、和1426的设置,受管应用程序组1420内的应用程序可被约束成只与组1420内的其他应用程序交换文件和/或数据。例如,来自应用程序1422的API调用可被应用程序1422的插入的代码拦截。管理策略1422a被读取,并且由API调用指定的操作也被阻止或允许,这取决于管理策略1422a中的设置。由于管理策略1422a具有受管应用程序组1420中全部应用程序的记录,因此应用程序1422通过读取管理策略1422a,可测试API调用的所请求的操作是否包括在组1420内或外的应用程序,并且相应地允许或阻止活动。因此,基于管理策略设置,数据的移动可受限制,使得受管应用程序组1420内的数据不与受管组(例如,具有应用程序1430)之外的数据协同。
在一些示例中,在移动设备1410上的受管应用程序组1420中的应用程序可被分配到不同的组。在此类情况下,管理策略(例如,1422a、1424a、和1426a)被更新成包括组和组成员的记录。应用程序之间的文件和/或数据流可因此进一步限制于特定组的成员。假设受管组1420内的不同组的移动应用程序可帮助将处理高敏感度数据的应用程序与处理较不敏感数据的那些应用程序分离。
应当理解上述拦截API调用的过程、咨询应用程序的管理策略、以及根据管理策略来允许或阻止由API调用指定的操作,可在许多背景下执行。在一个示例中,上述过程可被应用于在移动设备1410上选择可用于打开由链接或图标识别(例如,使用打开方式(OpenIn))的文件或数据元素的一组应用程序。在另一个示例中,上述过程可被应用于从一个应用程序复制数据或数据对象并将数据或数据对象粘贴在另一个应用程序中(例如,经由隐藏的、加密的粘贴缓冲器)。在另一个示例中,上述过程可被应用于将文件移入受保护的文件仓库和/或移出受保护的文件仓库。实质上,用于将数据移入应用程序和/或移出应用程序的任何操作均可利用上述技术。
还应当理解,该技术可以不仅应用于数据移动到其他应用程序,还应用于记录、图像、打印、音频播放、以及其他功能。
可针对移动设备1410获得操作系统扩展。通过在能够打开该数据对象的移动设备1410上显示应用程序列表,一个该操作系统扩展响应于用户指向表示数据对象(诸如文件)的链接或图标。该操作系统扩展的示例是“打开方式”,其在iOS设备上可用。类似的扩展可用于Android和Windows 8设备。
在示例中,受管应用程序组1420内的应用程序支持打开方式的使用,但基于相应应用程序的管理策略,所显示的用于打开选定数据对象的应用程序列表受到限制。例如,当从应用程序1422调用打开方式时,所显示的应用程序列表可受限,根据管理策略1422a,仅仅受限于受管组1420中的其他应用程序。因此,在本例中,打开方式仅仅列出同时满足以下两个条件的应用程序,所述条件为(1)在受管组1420内和(2)与数据对象兼容。在移动操作系统(诸如iOS、Android、和Windows 8)上,每个应用程序运行其自己的沙箱(sandbox)。这些应用使用级别非常高的内容共享机制,例如iOS中的打开方式、Android中的(意图/活动)Intents/Activities和Windows8中的Charms。在BYOD(自带设备)移动设备上,其将具有受管的和非受管的/个人的应用程序的混合运行于设备上。在这里,我们专注于如何实现受管应用程序组之间的数据共享。
在当代的移动操作系统如iOS上,文件系统通过设计成隐藏复杂性而不真正暴露于最终用户。重点反而是在应用程序上和它们处理的数据。
存在可将数据移入和移出设备的许多方式。主要的示例包括电子邮件、云存储资源(例如,DropBox、GoogleDocs、Box)、浏览器等。然后数据需要在受管应用程序之间移动,以完成实际工作。
描述了用于操作具有多个模式的应用程序的方法和系统。多个应用程序可在移动设备上呈现给用户,并且所显示的应用程序中的一个可被选择。选定应用程序可具有确定的一个或多个背景。例如,用于选定应用程序的背景可为应用程序被配置成访问企业账户。基于该背景,选定应用程序可以多个操作模式中的一个在移动设备上运行。操作模式可包括受管的、非受管的、和部分受管的模式。
在实施例中,用于选定应用程序的背景可包括将通过选定应用程序访问的账户、将运行选定应用程序的移动设备的位置、关于预定应用程序是否在移动设备上运行的确定、用于移动设备的一个或多个网络连接、以及用于移动设备的一个或多个设置。这些背景中的一个或多个可与管理策略进行比较,以确定用于选定应用程序的操作模式。
在另一个实施例中,操作模式可针对选定应用程序切换。针对运行的选定应用程序可监控到一个或多个背景,并且基于监控,可检测到操作模式变化。例如,一个或多个背景可针对选定应用程序改变,并且管理策略可定义用于选定应用程序的操作模式将改变。因此,操作模式可切换到更新的操作模式。
图15示出移动设备的样本界面,并且图16-22示出用于确定应用程序的操作模式的方法的样本实施例。在图16-22中描绘的方法可以任何合适的方式组合到各种实施例中。在图15中描述的样本界面可在移动设备(诸如设备107、109、240、502、和/或602)上显示,并且在图16-22中描绘的方法可通过该移动设备实现。
在图16中,示出用于确定应用程序的应用程序模式的示例方法步骤的流程图。图16的方法可在步骤1602处开始,在该步骤呈现多个应用程序。例如,多个应用程序可在移动设备上呈现给用户。图14示出其中在移动设备(例如,平板电脑、智能电话等)上显示的用户界面700将应用程序A 700、B 701、C 702和E 703呈现给用户的实施例。这仅仅是示例,并且多个应用程序可以任何合适的方式呈现。在实施例中,多个应用程序可包括电子邮件应用程序、网页浏览应用程序、软件即服务(SaaS)访问应用程序等。
图16的方法可从步骤1602进行到步骤1604,在步骤1604处,接收到针对多个应用程序中的一个的选择。参考在图14中描绘的实施例,移动设备的用户可通过(例如呈现移动设备的显示来选择应用程序)从而选择所呈现的应用程序中的一个。这仅仅是示例,并且应用程序可以任何合适的方式来选择。
图16的方法可从步骤1604进行到步骤1606,在步骤1606处,基于执行选定应用程序的设备的一个或多个运行参数,确定选定应用程序的背景。例如,背景可基于将通过应用程序访问的账户、移动设备的位置或执行应用程序的移动设备的网络连接状态,或者基于任何其他运行参数。如下面进一步描述的,图17-21的方法示出其中描述示例背景的各种实施例。
图16的方法可从步骤1604进行到步骤1606,在步骤1606处,基于背景确定用于选定应用程序的操作模式。在实施例中,操作模式可包括非受管的、受管的、和部分受管的模式。操作模式可基于一个或多个确定的背景进行确定。
在实施例中,所确定的背景可与存储的管理策略进行比较,以确定操作模式。移动设备(诸如移动设备502)可存储用于确定应用程序的操作模式的一个或多个管理策略。在实施例中,管理策略可被远程存储(诸如在上文参考图5描述的策略管理器570处)。在示例中,背景可包括被配置成访问安全账户的选定应用程序,诸如被配置成访问安全电子邮件账户的电子邮件应用程序。该背景可与存储的管理策略进行比较。例如,存储的管理策略可定义被配置成访问安全电子邮件账户的电子邮件应用程序运行为受管应用程序。另外的背景和管理策略将相对于图17-21描述。
图16的方法可从步骤1606进行到步骤1608,在步骤1608处,选定应用程序以确定的操作模式运行。例如,操作模式可被确定为受管的、非受管的、或部分受管的,并且选定应用程序可以确定的操作模式运行。
在实施例中,能够以受管模式或非受管模式运行的应用程序可通过分区、通过策略、通过一个或多个沙箱、或者任何其他合适的配置进行控制。例如,受管操作模式可包括将应用程序运行为移动设备502的受管分区510的一部分,如上文参考图5描述的。如此,受管应用程序可运行为安全的原生应用程序514、由安全应用程序启动器518执行的安全远程应用程序522、由安全应用程序启动器518执行的虚拟化应用程序526等。在受管分区上运行的应用程序可为稳定的应用程序,使得设备管理器524监控该稳定的应用程序以检测并纠正可导致(诸如向稳定的应用程序推送更新)不稳定的应用程序的问题。
在实施例中,以受管模式运行的应用程序可访问存储在移动设备的受管分区510中的安全数据容器528中的数据。存储在安全数据容器528中的数据可包括限制于特定安全应用程序530的数据、在其他安全应用程序之间共享的数据等。限制于安全应用程序的数据可包括安全通用数据534和高度安全数据538。安全通用数据可使用强加密形式(诸如AES128-位加密等),而高度安全数据538可使用非常强的加密形式(诸如AES 254-位加密)。在实施例中,以受管模式运行的应用程序可在安全数据容器528中保存、修改、或删除数据。被保存或修改的数据可类似于存储在安全数据容器528中的其他数据进行加密。被保存或修改的数据可类似于存储在安全数据容器528中的其他数据进行加密。在本例中,如上所述,非受管操作模式可包括将应用程序运行为非受管分区512的一部分。
在实施例中,以受管模式或非受管模式运行的应用程序可通过策略进行控制。如此,一个或多个策略可定义以受管模式运行的应用程序可访问安全的数据(例如,在安全数据容器528中的数据、加密的数据,诸如以特定密钥加密的数据、或任何其他合适的安全的数据),可与安全服务器(例如,网关服务器560)通信,可通过设备管理器或者任何其他合适的策略(例如,设备管理器524)管理。一个或多个策略还可定义以非受管模式运行的应用程序不可访问安全的数据(例如,在安全数据容器528中的数据、加密的数据,诸如以特定密钥加密的数据、或任何其他合适的安全的数据),不可与安全服务器(例如,网关服务器560)通信,可访问非安全的数据(例如,非安全的数据容器542、非加密的数据、或任何其他非安全的数据)或者任何其他合适的策略。在本例中,以受管模式运行的应用程序和以非受管模式运行的应用程序可包括分区(例如,受管分区510和非受管分区512)或可以不包括分区。
在实施例中,以受管模式或非受管模式运行的应用程序可通过一个或多个沙箱进行控制。沙箱可包括物理的或虚拟化的设备部分,其中在沙箱中运行的应用程序可包括访问策略,该访问策略与用于不在沙箱中运行的应用程序的访问策略不同。例如,以受管模式运行的应用程序可在包括用于受管模式的策略(诸如本文所述的策略)的沙箱中运行。在另一个示例中,以非受管模式运行的应用程序可以在包括用于非受管模式的策略的沙箱中运行。在本例中,以受管模式运行的应用程序和以非受管模式运行的应用程序可包括分区(例如,受管分区510和非受管分区512)或者可以不包括分区。
在实施例中,以受管模式运行的应用程序可通过如关于参考图5描述的虚拟专用网络连接连接到企业资源504和企业服务508。虚拟专用网络连接对于特定的应用程序(诸如选定应用程序)、特定的设备、移动设备上的特定安全区域等可以是特定的。例如,在电话的安全区域中的包装的应用程序可通过应用程序特定VPN访问企业资源,使得基于与应用程序相关联的属性并且可能结合用户或设备属性信息,将允许对VPN的访问。
在实施例中,以受管模式运行的应用程序可以对从应用程序传输的数据加密。例如,以受管模式运行的应用程序可通过网络与计算设备通信,并且从应用程序传输到设备的数据可被加密。另外,从计算设备传输到应用程序的数据也可被加密,并且以受管模式运行的应用程序可被配置成对所接收的数据解密。
在实施例中,以受管模式运行的应用程序可访问安全门户(portal)。例如,应用程序可通过网络(例如,微VPN)连接到计算设备,并且可访问不可以被非安全应用程序(诸如以非受管模式运行的应用程序)访问的安全门户。
在实施例中,非受管操作模式可包括将应用程序运行为如上文参考图5描述的移动设备502的非受管分区512的部分。在非受管模式中,应用程序可访问存储在移动设备502上的非受管分区512上的非安全数据容器542中的数据。存储在非安全数据容器中的数据可为个人数据544。
在实施例中,以部分受管模式运行的应用程序可类似于以受管模式运行的应用程序运行,但可以不包括以受管模式运行的应用程序的所有方面。例如,以部分受管模式运行的应用程序可将通过网络从应用程序传输的信息加密,但应用程序可以不访问如参考图5描述的安全数据容器528。在另一个示例中,以部分受管模式运行的应用程序可访问安全数据容器528,但可能不能通过虚拟专用网络连接连接到企业资源504和企业服务508。因此,根据所确定的背景,以部分受管模式运行的应用程序可包括以受管模式运行的应用程序的方面和以非受管模式运行的应用程序的方面。
在图17-21中,示出用于确定应用程序的背景和操作模式的示例方法步骤的流程图。在实施例中,图16的步骤1606和1608可包括图17-21中的任何一个或多个的方法步骤。图17的方法可在步骤1702处开始,在步骤1702处,检测将待被选定应用程序访问的账户。例如,选定应用程序可包括电子邮件应用程序,并且电子邮件应用程序经配置访问的电子邮件账户可被检测。在本示例中,电子邮件应用程序可以能够访问多个电子邮件账户,诸如企业电子邮件账户和个人电子邮件账户,并且电子邮件应用程序经配置在运行时访问的账户可被确定为将被访问的背景账户。
图17的方法可从步骤1702进行到步骤1704,在步骤1704处,将被访问的账户的账户类型可被确定。账户类型可包括选定应用程序的背景。例如,选定应用程序可包括电子邮件应用程序,并且电子邮件应用程序可经配置访问企业账户。在另一个示例中,电子邮件应用程序可经配置访问个人账户。
图17的方法可从步骤1704进行到步骤1706,在步骤1706处,账户类型可与账户类型管理策略进行比较。例如,管理策略可定义即将访问企业账户的电子邮件应用程序应当以受管模式运行,并且即将访问个人账户的电子邮件应用程序应当以非受管模式运行。图17的方法可从步骤1706进行到步骤1708,在步骤1708处,基于比较来确定操作模式。
图18的方法可在步骤1802处开始,在步骤1802处,移动设备的位置被确定。例如,移动设备(诸如移动设备502)可实现图18的方法,并且移动设备的位置可被确定。位置可通过GPS、信号三角定位、或任何其他合适的或以其他方式已知的方式来确定。位置可包括选定应用程序的背景。
图18的方法可从步骤1802进行到步骤1804,在步骤1804处,所确定的位置可与位置管理策略比较。例如,管理策略可定义选定应用程序在某些位置(例如,在公司场所)时以受管模式运行。在实施例中,管理策略可定义选定应用程序在某个位置时(例如,当所确定的位置在美国以内但离开公司场所时)以部分受管模式运行。例如,部分受管模式可将到达或来自选定应用程序的通信加密,但可以不允许对企业资源(诸如资源504)的访问。在另一个实施例中,管理策略可定义选定应用程序在某个位置时(例如,当所确定的位置在美国之外时)以非受管模式运行。图18的方法可从步骤1804进行到步骤1806,在步骤1806处,基于比较来确定操作模式。
图19的方法可在步骤1902处开始,在步骤1902处,监控预定的应用程序是否在设备上运行。例如,移动设备(诸如移动设备502)可实现图19的方法,并且移动设备可被监控以确定预定的应用程序是否在运行。预定的应用程序可包括能够在移动设备上运行的任何应用程序,诸如参考图6描述的客户端代理604。所监控的预定的应用程序可包括选定应用程序的背景。
图19的方法可从步骤1902进行到步骤1904,在步骤1904处,所监控的应用程序与管理策略比较。例如,管理策略可定义,当预定的应用程序(诸如客户端代理604)运行时,选定应用程序以受管模式运行,并且当预定的应用程序未运行时,选定应用程序以非受管模式运行。图19的方法可从步骤1904进行到步骤1906,在步骤1906处,基于比较来确定操作模式。
图20的方法可在步骤2002处开始,一个或多个网络连接被检测。例如,移动设备(诸如移动设备502)可实现图20的方法,并且移动设备所接通的网络连接可被检测。在示例中,网络连接可包括到蜂窝网络的连接、到WIFI网络的连接、或到无线局域网(WLAN)的连接等。一个或多个网络连接可包括选定应用程序的背景。
图20的方法可从步骤2002进行到步骤2004,在步骤2004处,所检测的网络连接与网络连接管理策略进行比较。例如,管理策略可定义,当移动设备连接到内部网络(诸如公司内部的WLAN)时,选定应用程序以受管模式运行,并且当移动设备只连接到无线网络(诸如蜂窝网络或WIFI网络)时,选定应用程序以非受管模式运行。图20的方法可以从步骤2004进行到步骤2006,其中基于该比较来确定操作模式。
图21的方法可在步骤2102处开始,在步骤2102处,移动设备的一个或多个设置被检测。例如,移动设备(诸如移动设备502)可实现图21的方法,并且移动设备的一个或多个设置可被检测。在示例中,可检测移动设备是否具有锁屏,诸如使用移动设备所需的PIN,或者可检测移动设备是否被破解(jailbroken),例如,已经经过进入市场后(after-market)的修改。一个或多个设置可包括选定应用程序的背景。
图21的方法可从步骤2102进行到步骤2104,在步骤2104处,所检测的设置与设置管理策略比较。例如,管理策略可定义,如果移动设备不具有锁屏或者如果移动设备已破解,则选定应用程序可以不以受管模式运行。图21的方法可从步骤2104进行到步骤2106,在步骤2106处,基于比较来确定操作模式。在实施例中,当以所确定的模式运行选定应用程序时,向用户告知某些管理策略的指示器可在移动设备上显示,诸如移动设备在其被允许以受管模式运行选定应用程序之前具有锁屏的要求。图17-21描述多个背景,并且可实现任何其他合适的背景和对应的管理策略。
在实施例中,在图17-21中描述的背景中的一个或多个可组合,并且这些背景可与用于选定应用程序的管理策略进行比较。例如,选定应用程序的背景可包括将作为企业电子邮件账户访问的账户类型和检测为蜂窝网络的网络连接。在本例中,管理策略可定义,当试图通过蜂窝网络访问企业账户时,选定应用程序应当以受管模式操作。管理策略之所以这样定义,是因为选定应用程序可将与企业电子邮件账户的通信加密,并且因此可降低通过蜂窝网络发送安全流量的风险。
在另一个示例中,选定应用程序的背景可包括在美国之外的所确定的位置和与公司内部WLAN的网络连接。管理策略可定义,当所确定的位置在美国之外并且网络连接是与公司内部的WLAN时,选定应用程序将以受管模式运行。管理策略之所以可以这样定义,是因为与公司内部WLAN的网络连接降低了与在美国之外的安全通信相关联的风险。
在实施例中,如图17-21描述的一个或多个背景可包括优先级。例如,选定应用程序的背景可包括如破解的移动设备设置,并且管理策略可定义,当背景指示破解的移动设备时,选定应用程序将以非受管模式运行,无论其他背景指示什么。因此,即便当移动设备连接到公司内部的WLAN时,或者如果选定应用程序试图访问企业账户,破解的移动设备将具有以非受管模式运行的选定应用程序。
在实施例中,管理策略可基于如图17-21描述的多个背景,指示选定应用程序将以部分受管模式运行。例如,选定应用程序的背景可包括将作为企业电子邮件账户访问的账户类型和检测为蜂窝网络的网络连接。在本例中,管理策略可定义,当试图通过蜂窝网络访问企业账户时,选定应用程序应当以部分受管模式运行。部分受管模式可将到达或来自选定应用程序的通信加密,但是可以不允许对企业资源(诸如资源504)的访问。管理策略之所以可以这样定义,是因为与企业电子邮件账户的加密的通信可以是低风险通信,并且允许对企业资源的访问可以是高风险通信。
在图22中,示出用于切换应用程序的操作模式的示例方法步骤的流程图。例如,图22的方法步骤可遵循图16的方法步骤。图22的方法可在步骤2202处开始,在步骤2202处,在选定应用程序运行的同时,一个或多个背景可被监控。在实施例中,参考图17-21描述的背景中的一个或多个可被监控。例如,运行选定应用程序的移动设备可连接到蜂窝网络并且同时选定应用程序正在运行,移动设备可接通与公司内部WLAN的新的网络连接。
图22的方法可从步骤2202进行到步骤2204,在步骤2204处,基于监控来检测选定应用程序的操作模式变化。换言之,移动设备可检测信息变化,该信息变化构成用于选择特定运行模式的基础。例如,选定应用程序可以非受管模式运行,并且一旦运行选定应用程序的移动应用程序连接到公司内部的WLAN,则管理策略可定义选定应用程序的操作模式应当切换到受管模式。图22的方法可从步骤2204进行到步骤2206,在步骤2206处,选定应用程序的操作模式被切换。
管理用于移动应用程序的动态管理策略和设置
一种改善的技术确保许多不同的管理策略(包括应用程序特定的管理策略和设置)可通过管理界面进行构成和配置,并且被递送到部署的应用程序,而无需改变控制点软件。
一些实施例涉及一种方法,所述方法用于通过企业移动应用程序管理系统来递送和管理的特别准备的企业应用程序,以便(a)以开放的方式定义可用应用程序管理策略集,使得可以易于设计新的管理策略,(b)描述所需的用户界面单元和可能的管理策略设置值的范围,它们足以使得控制点软件动态构造用于正在询问的设置的管理用户界面,而无需特定设置的明确知识或其意义,和/或(c)积累(roll up)用于特定受管应用程序的所有可用管理策略设置(考虑用户和访问情况),并在运行时将它们递送到应用程序,使得这些设置可通过如适当的执行所需的应用程序进行动态查询。
一种改善的技术确保许多不同的管理策略(包括应用程序特定的管理策略和设置)可通过管理界面进行构成和配置,并且被递送到部署的应用程序,而无需改变控制点软件。
企业使用与它们选择部署的企业活动管理(EMM)解决方案相关联的工具和SDK,创建(或调整)它们的本地移动应用程序。根据用于准备此类应用程序的工具或SDK的版本,可期望具有由EMM系统软件自动提供的默认管理策略集。这些默认管理策略可通过应用程序开发者定义他们自己的应用程序特定管理策略和设置来进一步增强。
所有管理策略和设置应当使用声明语法(元数据)来定义,所述声明语法包括以下与每个设置相关联的元素:
设置组或目录ID;
设置字典名称;
设置类型(布尔型、整型、字符串型、多字符串型、枚举型、统一资源标识符型等);
可能设置值的范围;
默认设置值;
友好设置名称字符串(默认语言加本地化名称的资源ID);
设置单位和其他U/I显示字符串(默认语言加对本地化字符串的资源ID的参考);
说明和扩展的帮助文本字符串(默认语言加对本地化字符串的资源ID的参考);
在示例中,上述元数据以XML文件的形式提供,所述XML文件定义上述针对每个设置列出的单独元素。
应用程序准备工具应当聚集管理策略元数据,所述元数据用于默认EMM系统提供的管理策略以及任何应用程序特定管理策略,所述任何应用程序特定管理策略由将这些设置描述直接封装到应用程序包(application bundle)中的应用程序开发者提供,应用程序包将被上传到EMM服务器的管理控制点。
当出于发布应用程序以供企业用户消费的目的,将受管应用程序上传到控制点时,控制点将读取应用程序的管理策略元数据,并且动态地构建管理用户界面,以用于完全设置全部的应用程序管理策略和设置。IT管理员与各种控制进行交互,其中所述各种控制选择适于每个控制的设置或将它们保留为它们的默认值。在示例中,该步骤的输出为键或/值对的简单JSON或XML字典,代表每个定义的设置名称(字典名称)及其分配的值。
一旦在控制点上被上传并配置,便使得这些企业受管应用程序可供机构的员工来阅读并选择以安装,这基于他们在组织内的角色。另选地,此类应用程序可被直接推送到已在企业MDM服务器将其设备注册的员工的移动设备。
当员工在移动设备上执行受管应用程序时,他们通常面临要验证他们的企业身份和密码以及由企业管理策略规定的其他因素的挑战。在验证用户和设备之后,系统的访问管理器组件验证用户有权进入正在询问的应用程序并且下载JSON或XML管理策略文件,所述JSON或XML管理策略文件代表已被企业管理员建立以便在使用该特定应用程序时用于该用户的设置。
每当在运行时需要管理策略决定时,通过应用程序或嵌入式EMM软件咨询保持在其中的配置的设置。应用程序管理策略文件通常将被缓存,并且被周期性地刷新,以确保与它们将在未来改变的所配置的管理设置的持续服从。实际上,嵌入式管理策略设置中的一个应当规定所需的更新频率。
由于新版本的EMM工具包或SDK变得可用并且由于新的应用程序被开发并适用于该系统,当前应用程序混合所需的可用管理策略设置组可大幅增长。但是,对通过由这些新开发的应用程序所显示的新设置来提供管理控制是不需要改变控制点软件的。
通过依赖于全部管理策略的全面元数据描述和与嵌入在应用程序包自身内的受管企业应用程序相关联的设置,用于这些管理策略的管理控制点可动态构建用于这些设置的用户界面,从而将后端EMM服务器软件从将被提供的管理策略的特定知识解耦。
另外,管理策略设置的该数据驱动的描述使得将管理策略设置动态地递送到正在运行时的应用程序非常容易,而无需这些设置的语法的任何中间件知识。
图23示出可在其中实践本文实施例的示例环境。如所示,移动设备2310(例如,通过因特网或一些其他网络)与EMM 2330通信。EMM 2330包括验证服务区2332、应用商店2334、和管理用户界面生成器2336。也可包括其他结构,但为简单起见将它们从图9A中省略。
在操作中,应用程序开发者2340开发移动应用程序2312。应用程序开发者还创作管理策略元数据2346。管理策略元数据2346定义用于控制流入和/或流出移动应用程序2312的数据的管理策略集。通常,管理策略元数据包括对EMM 2330通用的第一管理策略元数据组和对于移动应用程序2312特定的第二管理策略元数据组。应当理解,应用程序开发者2340(或多个开发者)可开发多个移动应用程序,每个具有对EMM 2330通用的元数据并且具有应用程序特定的元数据。
移动应用程序2312和管理策略元数据2346被发送到EMM 2330并且通过管理UI发生器2336接收。在接收移动应用程序2312和管理策略元数据2346时,管理UI发生器2336动态地生成管理UI 2350。管理员然后经由查看器观察管理策略元数据2346(例如,XML文件),并且定制(例如,基于EMM 2330的规则和/或其他考虑)元数据中的管理策略设置。管理员的定制的结果是应用程序管理策略2356。在示例中,应用程序管理策略2356以管理策略名称或值的字典的形式提供,其可被呈现成例如XML或JSON文件。
在建立应用程序管理策略2356的设置之后,使得移动应用程序2312经由应用商店2334可用于用户。用户(诸如移动设备2310的用户)可通过向验证服务器2332提交验证请求2314并接收验证响应2316,登录到EMM 2330。已验证的用户可在应用商店2334中查看移动应用程序,并且将这些移动应用程序下载到他们的移动设备。例如,移动设备2310的用户可从应用商店2334下载移动应用程序2312。
当用户下载应用程序2312时,用户还接收应用程序管理策略2356。然后根据应用程序管理策略2356约束移动应用程序2312在移动设备2310上操作。
通常,移动应用程序2312被专门设计或调整成与企业一起使用,即,其不是一般用户可下载用于他们自己的个人活动(例如,新闻应用、Facebook应用等)的应用程序。在一些示例中,移动应用程序2312被专门设计用于EMM 2330。在其他示例中,应用程序2312是被专门调整成与EMM 2330一起使用的使用广泛的应用程序。例如,应用程序被提供有使得应用程序能够符合EMM 2330的框架的附加代码。可使用SDK将该代码编译到应用程序中。另选地,该代码可作为通用应用程序周围的包装器来应用,以调整其专用于与EMM2330一起使用。一般来讲,附加代码用于通过应用程序管理策略2356转移来自移动应用程序2312的API调用,使得管理策略2356可控制移动应用程序2312在移动设备2310上的表现。
应用程序开发者2340可周期性地提供管理策略元数据2346的更新版本。这些更新版本用于生成(经由管理UI生成器2336)更新的应用程序管理策略2356。在一些示例中,更新的应用程序管理策略2356被推送到移动设备2310以更新在使用中的管理策略。
在一些示例中,驻留在移动设备2310上的应用程序管理策略2356被周期性地刷新,或者响应于某些事件(诸如在移动设备2310上开启移动应用程序2312)刷新。
控制设备对企业资源的访问
一种用于管理用于存储移动设备上的数据的加密数据仓库的改善的技术包括,将来自在移动设备上运行的应用程序的读取和写入操作引导至企业生成的管理策略,该企业生成的管理策略对于该应用程序是特定的,其为由读取和写入操作所指定的数据指定加密的仓库。
图24示出可在其中实践本文实施例的示例环境。在这里,移动设备2410(诸如智能电话、平板电脑、PDA等)具有安装于其上的各种移动应用程序。移动应用程序包括由企业管理的受管应用程序2422、2424、和2426的组2420,和不由企业管理的个人应用程序2430。在一些示例中,企业活动管理(EMM)客户端2440也安装在移动设备2410上。EMM客户端2440,也在本文中称作“代理(broker)”,被配置成例如经由网络(诸如因特网)与EMM服务器2450连接,其中所述EMM服务器2450通常包括验证服务器2452、应用商店2454、和密钥服务器2456。EMM客户端2440的示例是可用于Citrix的客户端代理。EMM服务器2450的示例是提供对企业资源和/或云资源的访问的网关服务器。
所示移动设备2410还包括共享数据仓库2442。该共享数据仓库2442包括对受管应用程序组2420中的每个可访问的加密文件和/或数据对象。
受管应用程序组2420中的每个应用程序与相应的管理策略相关联。例如,应用程序2422与管理策略2422a相关联,应用程序2424与管理策略2424a相关联,并且应用程序2426与管理策略2426a相关联。在一些示例中,管理策略2422a、2424a、和2426a以文件(诸如XML或JSON文件)的形式提供,其中相应的管理策略被表达为密钥/值对的组。在示例中,每个管理策略2422a、2424a、和2426a包括受管应用程序组2420内全部应用程序的记录。
在一些示例中,受管应用程序组2420中的每个应用程序还与相应的私有应用程序仓库相关联。例如,应用程序2422与私有应用程序仓库2422b相关联,应用程序2424与私有应用程序仓库2424b相关联,并且应用程序2426与私有应用程序仓库2426b相关联。用于私有应用程序仓库2422b、2424b、和2426b的加密密钥以及用于共享仓库2442的加密密钥从EMM服务器2450上的密钥服务器2456获得,并且可暂时保留在移动设备内。
受管应用程序组2420中的每个被专门设计或调整用于与企业一起使用。受管应用程序组2420中的一些可被专门设计用于企业。受管应用程序组2420中的其他是已被专门调整用于与企业一起使用的使用更广泛的应用程序(例如,可用于公众)。应用程序组2420中的每个包括使得应用程序能够符合企业的框架的插入的代码。可使用SDK将插入的代理编译到应用程序中。另选地,插入的代码可被实施为通用应用程序周围的包装器,以使其适于与企业一起使用。在本文公开的改善的背景下,插入的代码用于将来自应用程序的用于读取和写入的API调用转移到其相关联的管理策略,使得根据管理策略的设置将读取或写入请求重新定向到指定的安全仓库。
在典型的操作中,移动设备2410的用户启动EMM客户端2440,经由验证服务器2452登录到EMM服务器2450,并且访问应用商店2454。用户可然后查看得自应用商店2454的企业应用程序,选择期望的应用程序,并将它们下载到移动设备2410上,其中下载的应用程序包括在受管应用程序组2420中。对于下载的每个应用程序,还将对应的管理策略下载到移动设备,并且更新组2420中全部应用程序的管理策略来反映组2420的全部成员。
在示例中,管理策略(例如,2422a、2424a、和2426a)周期性地和/或响应于特定事件而被刷新,其中所述事件为诸如每次相应的应用程序启动和/或每次用户登录到EMM服务器2450上。管理策略可因此随时间调整,并且被动态地从EMM服务器2450传送到移动设备2410。
根据管理策略2422、2424、和2426的设置,受管应用程序组2420内的应用程序可被约束成只与组2420内的其他应用程序交换文件和/或数据。例如,来自应用程序2422的指定文件读取或写入的API调用被应用程序122的插入的代码拦截。管理策略2422a被读取,并且所指定的读取或写入操作被转移到加密的仓库(例如,私有仓库2422b或共享的仓库2442),这取决于管理策略2422a中的设置。
在一些示例中,在移动设备2410上的受管应用程序组2420中的应用程序可被分配到不同的组。在此类情况下,管理策略(例如,2422a、2424a、和2426a)被更新成包括组和组成员的记录。应用程序之间的文件和/或数据流可因此进一步限制于特定组的成员。例如,每个组可被设置有其自己的共享的仓库142。假设受管组2420内的不同组的移动应用程序可帮助将处理高敏感度数据的应用程序与处理较不敏感数据的那些应用程序分离。
应当理解上述拦截API调用的过程、咨询应用程序的管理策略、以及根据管理策略来允许、阻止、或重新定向由API调用指定的操作,可在许多背景下执行。在一个示例中,上述过程可被应用于在移动设备2410上选择可用于打开由链接或图标识别(例如,使用打开方式)的文件或数据元素的一组应用程序。在另一个示例中,上述过程可被应用于从一个应用程序复制数据或数据对象并将数据或数据对象粘贴在另一个应用程序中(例如,经由隐藏的、加密的粘贴缓冲器)。在另一个示例中,上述过程可被应用于将文件移入和/或移出如本文所述的受保护的文件仓库。实质上,用于将数据移入和/或移出应用程序的任何操作均可利用上述技术。
图25另外详细地示出移动设备2510的各种特征。在这里,应用程序2522(代表受管组2420中的应用程序中的任一应用程序)对移动设备2510上的永久空间发布读取操作2510和写入操作2512。在非受管应用程序中,此类读取和写入操作通常将被引导至应用程序的沙箱。但是在这里,读取和写入操作被管理策略了解拦截层2520拦截,并且被引导至合适的加密仓库。对于读取操作2510,管理策略了解拦截层2520检查将被读取的数据的类型并咨询管理策略2522a。如果管理策略2522a规定所识别的数据类型存储在私有应用程序仓库2522b中,则管理策略了解拦截层2520从私有应用程序仓库2522b获得数据。但是,如果管理策略2522a规定所识别的数据类型存储在共享数据仓库2542中,则管理策略了解拦截层2520从共享数据仓库2542获得数据。管理策略了解拦截层2520然后将数据解密(使用来自EMM服务器2550的加密密钥),并将数据返回给应用程序2522。
就写入操作2512而言,管理策略了解拦截层2520检查将被写入的数据的类型,并且咨询管理策略2522a。如果管理策略2522a规定所识别的数据类型将被存储在私有应用程序仓库2522b中,则管理策略了解拦截层2520将数据加密并且将数据存储在私有应用程序仓库2522b中。但是,如果管理策略2522a规定所识别的数据类型将被存储在共享数据仓库2542中,则管理策略了解拦截层2520将数据加密并且将数据存储在共享数据仓库2542中。
再参考图26-27。在一些实施例中,移动设备2620可包括安全文档容器2636,其可称作“容器”。如本文说明的,容器2636可帮助阻止将企业信息扩散到移动设备2620以及其他设备的不同应用程序和组件。企业系统(其可部分或完全在云内)可将文档发送到设备2620,文档可存储在(例如,通过企业代理2620)容器2636内。容器2636可阻止未授权的应用程序2618和设备2620的其他组件访问容器2636内的信息。对于允许用户使用他们自己的移动设备2620访问、存储、和使用企业数据的企业,在设备2620上提供容器2636有助于保护企业数据。例如,在设备2620上提供容器2636可将企业数据集中在每个设备2620上的一个位置中,并且可促进来自设备2620的企业数据的选择性或完全删除。
如在该背景下使用的,“文档”可包括任何计算机可读文件,包括文本、音频、视频、和/或其他类型的信息或媒体。文档可包括任何单一的或组合的这些媒体类型。
安全文档容器2636可构造实现文件系统2638的应用程序,其中文件系统2638存储文档和/或其他类型的文件。文件系统2638可包括移动设备2620的计算机可读存储器的一部分。文件系统2638可与移动设备2620的计算机可读存储器的其他部分逻辑分离。如此,企业数据可存储在安全文档容器2636中,并且私有数据可存储在移动设备2620的计算机可读存储器的单独部分中。容器2636可允许企业代理2620、移动设备应用程序2618和/或设备2620的其他组件从文件系统2638读取信息、将信息写入文件系统2638中和/或从文件系统2638删除信息(如果授权这些操作的话)。从容器2636中删除数据可包括删除存储在容器2636中的实际数据、删除指向存储在容器2636中的数据的指针、删除用于将存储在容器2636中的数据解密的加密密钥等等。容器2636可通过例如代理2620、企业系统的IT管理员、或设备2620的制造商进行安装。容器2636可使得存储在文件系统2638中的企业数据中的一些或全部被删除,无需修改存储在移动设备2620上的在容器2636之外的私有数据。文件系统2638可促进文件系统2638中的数据的选择性或完全删除。例如,企业系统的组件可基于例如被编码的规则从文件系统2638中删除数据。在一些实施例中,代理2620从文件系统2638中删除数据,来响应接收来自企业系统的删除命令。在其他实施例中,数据在没有代理2620的辅助的情况下(例如,如果未提供代理2620)被删除。
安全文档容器2636可包括控制应用程序2618和移动设备2620的其他组件对文件系统的访问的访问管理器2640。对文件系统2638的访问可基于文件访问管理策略(例如,经编码的规则)来控制,其中所述文档访问管理策略存储在文档和/或文件系统2638中。文档访问管理策略可基于以下来限制对文件系统2638的访问:(1)请求访问的是哪个应用程序2618或设备2620的其他组件,(2)哪些文档被请求,(3)时间或日期,(4)设备2620的地理位置,(5)发出请求的应用程序2618或其他组件是否提供正确的证书或凭证,(6)设备2620的用户是否提供正确的凭证,(7)其他条件,或它们的任何组合。用户的凭证可包括例如密码、针对安全问题的一个或多个答案(例如,你高中的吉祥物是什么?)、生物识别信息(例如,指纹扫描、眼部扫描等)等。因此,通过使用访问管理器2640,容器2636可被配置成只通过被授权访问容器2636的应用程序2618进行访问。作为一个示例,访问管理器2640可使得安装在移动设备2620上的企业应用程序能够访问存储在容器2636中的数据,并阻止非企业应用程序访问存储在容器2636中的数据。
对文档访问的时间和地理限制可以是有用的。例如,企业管理员可配置文档访问管理策略,该文档访问管理策略将文档(存储在容器2636内的)的可用性限制于特定的时间窗口和/或地理区域(例如,由GPS芯片2616确定的),其中所述设备2620必须驻留在所述地理区域内以便访问文档。另外,当经过特定的时间段时或者如果移动设备2620被从定义的地理区域取出,则文档访问管理策略可指示容器2636或代理2620从容器2636中删除文档或以其他方式使它们不可用。
一些文档可访问禁止文档被保存在安全文档容器2636内的访问管理策略。在此类实施例中,当用户登录到企业系统中时,文档只可用于在移动设备2620上查看。
访问管理器2640还可被配置成执行远程设备(例如,企业资源或其他企业服务器)与容器2636之间的某些连接模式。例如,访问管理器2640可要求,由容器2636从远程设备接收的和/或从容器2636发送到远程设备的文档通过应用程序隧道(application tunnel)(例如,如上所述)传输。此类应用程序隧道可使用企业系统的隧道调节器。访问管理器2640可要求向容器2636传送的和从容器2636传送全部文档被加密。企业代理2620或访问管理器2640可被配置成将从容器2636发送的文档加密并将发送到容器2636的文档解密。在容器2636中的文档也可以加密的形式存储。
安全文档容器2636可被配置成阻止文档或包括在文档中的数据被移动设备2620或其他设备的未授权应用程序或组件使用。例如,具有对访问来自容器2636的文档的授权的移动设备应用程序2618可被编程,以阻止用户复制文档的数据并将其粘贴到另一个文件或应用程序界面中、或将文档或文档数据作为新的文件在本地保存在容器2636之外。类似地,容器2636可包括不允许此类复制/粘贴和本地保存操作的文件查看器或编辑器。另外,访问管理器2640可被配置成阻止此类复制/粘贴和本地保存操作。此外,容器2636和被编程且被授权访问来自容器2636的文档的应用程序2618,可被配置成阻止用户将此类文档附加到电子邮件或其他形式的通信中。
移动设备应用程序2618可被编程以查找和发现作为移动设备2620的资源的安全文档容器2636(或如下面描述的包括容器2636的安全网页浏览器2632)。在某些实施例中,应用程序2618可在安全虚拟机上运行,该安全虚拟机与移动设备2620的操作系统的虚拟机分开。根据一些其他实施例,应用程序可以在安全网页浏览器2632内运行。应用程序2618可被编程,以便只将企业相关数据写入到容器2636中。例如,应用程序2618的源码可被设置有容器2636的资源名称。类似地,远程应用程序(例如,企业资源2430)可被配置成只将数据或文档发送到一个或多个移动设备2620的容器2636(如与设备2620的其他组件或存储器位置相对)。例如,在应用程序2618、企业代理2620、或网页浏览器2632的控制下,将数据存储到容器2636可自动发生。应用程序2618可被编程,以将存储在或将要存储在容器2636内的文档加密或解密。在某些实施例中,容器2636只可以被这样的应用程序(在设备2620上或远程的)使用,所述应用程序被编程以查找并使用容器2636并且具有对于这样操作的授权。
安全文档容器2636可充当用于被发送到移动设备2620的文档或其他文件的临时存储库。远程应用程序可被配置成在一次性地或周期性地基础上将文档发送到容器2636(例如,经由应用程序隧道)。例如,销售相关的企业资源130可被编程,以在每天早上将销售相关文档(例如,最近的报价单)发送到具有销售相关作用(例如,销售人员)的用户的组的容器2636。销售相关文档可具有文档访问管理策略,使得文档将在一定的时间或从预定的事件(例如,用户打开文档)开始经历一个时间段到期时自毁(例如,自动从容器2636中删除-该删除由例如容器2636自身或企业代理2620执行)。文件分配管理策略(例如,经编码的规则)可被提供(例如,在移动设备管理系统内)以控制远程应用程序(例如,企业资源)在何时和如何将文档发送到容器2636、将文档发送到哪个用户、对文档(例如,以如上述文档访问管理策略的形式)的使用和可用性设置什么限制(例如,时间或地理限制)等。
出于将文档从此类存储库发送到容器2636的目的,将文档发送到移动设备2620的一个或多个安全文档容器2636的远程应用程序可被配置成与其他存储器结合在一起。此类其他存储器可被存储在例如企业系统(例如,企业文档存储库诸如Microsoft SharepointTM存储库)内或存储在云计算系统(例如,Box.netTM存储库)中。
EMM解决方案常规地采用通过移动设备管理(MDM)服务器来管理整个移动设备的方法。EMM解决方案越来越注重于只寻求管理企业应用程序以及它们的相关数据(其可在员工的移动设备上安装和运行)的移动应用程序管理解决方案。此类系统通常使用基于角色的访问,来提供被专门设计成保护企业资产的专门准备的企业应用。此类应用程序常常要求员工登录到企业服务器,以便访问受管应用程序。另外,此类应用程序可与管理策略相关联,其中所述管理策略由企业管理员建立以在也寻求保护并控制应用程序所保留的信息的同时控制应用程序访问。
在以其他非受管的移动设备上管理企业应用程序的一个最大挑战是,确保由受管应用程序使用的信息不能从受信任企业应用程序组逃脱,其中IT管理员使得所述受信任企业应用程序可用于他们企业的用户。信息可以任何数量的方式逃脱,并且强健的EMM系统将提供管理策略和执行机制,以阻止其中IT管理员认为是合适的这种信息泄露并提供管理策略重写(如果合适的话)。但是,即便具有强健的信息封闭管理策略集,仍然存在关于由移动设备上的应用程序所管理的信息的安全性的其它威胁。
一个这种威胁是,应用程序可通过将文件或其他数据写入到闪存或设备上的其他永久储存器中而在移动设备上永久地存储一些信息。大多数移动平台将应用程序所记录的持久性数据分离到私有应用程序沙箱中。但是,该沙箱常常由于能够对设备进行刷机或破解的常用工具而失败。刷机和破解是常常以击败应用沙箱作用、应用完整性检查、和其他OS提供的安全机制为目的,寻求更换移动设备操作系统平台的部件的技术。用于最热门移动平台的根套件(rootkit)和破解软件便于在公共因特网上可用并且易于使用。由于刷机和破解容易实现,大多数企业不希望依赖于移动设备OS执行的沙箱作为保护应用程序可需要存留的数据的唯一方式。
一些移动设备平台另外允许信息以其永久形式进行加密并且一些应用程序确实利用这些特征。始终不变的是,此类加密机制依赖于被存留在设备自身上的加密密钥,并且密钥自身受用户供应的PIN或密码保护。密钥存留在设备上且受到弱密码因素保护这一事实,意味着数据并未特别良好地免受黑客行为(尤其如果设备被偷并且黑客具有足够的时间来尝试解锁密钥)。另外,由于密钥被设备持有者所拥有,因此企业无权移除它们或者取消被终止的员工的访问(除非他们可以恢复设备)。
在移动平台上发生的应用沙箱作用的另一个问题是,具有可用于移动设备上的全部受管应用程序并且可能离线地同步于基于云的储存器的文档的单个存储库是有问题的。沙箱周围的移动应用程序工作以各种方式受限,所有限制都有缺点。通常,它们将某些固定类型的文件与已注册以接受某些那些相同类型的其他应用程序互换。这里的缺点是,以每个应用的沙箱中具有特定文件的多个拷贝结束。如果一个或多个应用希望编辑文件内容,则追踪哪个应用具有最新版本对于用户是有问题的。
如果用户被培训以便总是将他们修改的文档发送回公共同步代理应用程序,其中所述公共同步代理应用程序也可受控于向/从基于云的储存器同步文档,则可克服上面强调的问题。Citrix移动应用程序是允许与基于云的同步进行交换的这种数据应用程序的示例。这里的缺点是,这些额外的步骤容易忘记。另外,当使用以用于全部应用程序的共享文档文件夹的理论操作的等同桌面应用程序时,它们是不需要的。如果用户未进行适当培训的话,则这两个事实可导致数据文件一致性问题和差的用户体验。
该问题的另一个方法是保存文件,该文件是被希望分享到支持这种概念的那些移动平台上的共享储存器中的文件。这样便有不利的一面,即共享的储存器是全局可读的并且因此与全部应用程序共享。一旦信息被放置到共享的储存器中,由于移动设备上的任何应用程序均可读取信息,便丢失了信息的封闭。同样,数据可以常常被使用标准文件查看器或开发工具而获得对设备的物理访问的任何人访问。
上面强调的信息封闭和受信任应用程序之间的文档共享的挑战通过引入加密文件仓库的概念而被克服。加密文件仓库是逻辑容器,其中由移动应用程序(其将以其他方式结束于应用沙箱中的可写入文件)读取/写入的所有持久性数据将被重新定向到所述逻辑容器中。仓库的内容是被写入到保留在应用沙箱中的文件中的它们自己。但全部文件的内容和文件元数据自身(名称、大小、访问次数等)均被加密。
强加密算法(例如,FIPS140-2认证的)用于保护被放置在仓库中的所有信息,所述仓库具有由企业而不是用户自己管理的密钥。密钥通常基于用户、设备的元组和应用程序或应用组来分配。这暗示着不同的密钥组是使用过的用户、设备、和应用程序/应用组的每个唯一组合。密钥为企业密钥管理服务器中的维持关闭的设备。密钥被暂时下载到移动设备上以启用数据访问(但是只有在强化认证用户、设备、和正在询问的应用程序之后)。
应用程序当然可以知晓文件仓库服务的存在的方式写入。以这种知晓而被写入的应用程序可利用任何数量的文件仓库,它们可用仓库名称标识符明确地识别。但是,应用程序常常不以这种知晓写入。对应地,管理员定义的管理策略可用于配置用于每个应用程序的默认文件仓库。应用文件的默认文件仓库用于全部应用程序文件I/O的透明重定向,其将以其他方式结束于应用程序沙箱或共享储存器的可写入的部分中。
用于将应用分配到默认文件仓库的典型机制规定管理员通过管理策略将每个经配置的移动应用程序放置到指定的安全组中。然后共享相同安全组的全部应用程序继承相同的默认文件仓库。这样,应用程序不仅获得用于它们的数据的加密容器的安全,而且配置有相同默认文件仓库的应用将看到与其他类似配置的文件应用程序共享的它们的数据的单个一致视图。
应当注意,不是应用沙箱中的所有可写入的区域均适于与其他应用程序(例如应用程序的/tmp的目录)共享。这里的暗示是,总是存在将用于保留某些文件和目录的应用私有文件仓库。如果应用未被配置到共享组中,那么全部文件均被重新定向到应用私有仓库。但是,如果应用被配置到共享组中,则文档和其他此类文件将被重新定向到公共仓库,而被指派给特定私有目录(如/tmp)的文件将继续流动到应用的私有仓库。
还应当注意,共享文件仓库的概念不暗示着代表全部应用程序来管理共享文件的公共代理的存在。在没有这种代理的情况下,将不能透明地共享文件。尽管这种代理可为在移动设备自身上不存在的网络附加(network-attached)服务,但是这种设计将排除对加密文件仓库的离线访问。由于这个原因,安装在移动设备上的另一个应用程序通常将承担这个作用。EMM客户端代理(如Citrix客户端代理)移动应用程序将为该共享仓库代理的典型主机。
上述技术因此提供透明文件访问、通过由企业管理的密钥的强化加密、和由管理策略进行的动态重新配置的唯一组合。
企业可使用与它们选择配置的企业活动管理(EMM)解决方案相关联的工具和SKD来创建(或调整)它们的本地移动应用程序。在准备它们的用于EMM配置的应用中,它们无疑具有写入(重写)特定应用程序逻辑的自由,以使用它们的应用程序所需的由EMM开发者SDK暴露的加密文件仓库服务。但是,多数情况下,应用程序将已经被写入,以便使用针对该平台它们被开发的平台的标准文件系统API。如此,如果EMM SDK和工具可以透明地将这些本地文件访问服务重新定向到由控制管理策略指定的一个或多个文件仓库,而不是重写它们的应用程序,则对应应用程序开发者将更便利。该方法还允许管理员重新配置目标文件仓库,而无须直接修改和重新编译应用程序。
当采用该方法时,应用程序开发者不需要担心如何与本地文件仓库服务进行连接的细节。替代的是,通过将头文件、库、和EMM系统框架代码的运行时间支持文件与应用程序整合在一起,应用程序调用的全部文件系统API将被重新定向到管理策略了解拦截层。假设配置了加密文件仓库特征,那么基于管理策略有效地用于当前用户、设备、和应用,一组默认文件仓库将被选择并且文件系统API拦截层将被配置成将它们作为目标。
在准备了用于特定EMM系统的应用程序之后,出于发布应用程序以供企业用户消费的目的,将受管应用程序上传到EMM服务器。作为该应用发布工作流的一部分,IT管理员将选择适用于应用程序和相关联的用户角色的管理策略和设置。一旦被上传和配置,便使得应用程序可用于机构的员工来查看和安装,这基于他们在机构内的角色。另选地,该应用程序可被直接推送到已将他们的设备登录到企业MDM服务器的员工的移动设备。
当用户在移动设备上执行受管应用程序时,用户通常必须要验证他们的企业身份和密码以及由企业管理策略规定的其他因素。在强化验证用户、设备、和应用程序之后,系统的访问管理器组件验证用户有权进入应用程序并且下载用于该特定应用和用户的经配置的管理策略。
基于这些管理策略,被递送受管应用的EMM框架对其自身进行配置。其将选择一个或多个默认文件仓库来使用并配置文件系统API拦截层,以便将选定仓库作为目标。如果经配置的文件仓库已经不存在,则初始化新的空的仓库。这样确保了将会选择非之前使用的仓库的文件仓库管理策略中的改变相对于应用程序表现为似乎其已在最近安装(例如,空的可写入的目录)。
随着应用程序开始使用文件系统API,文件系统API拦截层查找拦截应用沙箱或共享储存器的可写入部分的文件访问。此类文件通过文件系统拦截层被标记和跟踪,使得全部后续文件I/O在被放置到保留数据的真实文件容器中之前经过加密/解密。
为了完成该加密,所需的密钥首先需要恢复。这些密钥是从密钥管理服务器检索并在本地缓存的。如果这是长时间内对受保护文件的第一次访问,则用户将被迫通过登录到EMM服务器执行强化验证。这些密钥将周期性地需要刷新,如通过用于密钥的现场管理策略设置的时间所指定的。当刷新时,只要用户维持EMM服务器的有效登录,则可在无用户交互的情况下发生该密钥刷新。如果用户登出或者他们的登录会话到期,则需要再次强化验证密钥刷新。
当文件仓库对应用程序私有时,文件仓库服务层直接使用移动平台的文件I/O功能来读取和写入数据的加密版本。同样,全部的文件目录访问功能也被类似地拦截,使得真实的文件名称和大小可模糊。
为支持对加密文件内任何字节范围的随机访问,可使用这样的方案,所述方案使用加密块。为使其工作,用于将文件块中的每个加密/解密的密钥是根据基密钥和文件/块偏移量通过数学方法计算得到的。类似地,不同的文件将同样使用用于加密术的初始化向量。这些技术代表声音和使用单组加密密钥的用于编码加密文件卷的合理化标准实践。
为高效起见,系统可提前读取或延迟将数据写入到加密数据内容,如优化应用程序性能所需的。在关闭文件或退出应用程序之前,延迟的加密数据写入必须清空。
当文件仓库将与另一个应用程序共享时,上述相同的过程被使用,但是它们必须在公共文件系统代理应用程序的控制下在公共文件系统存储库中发生。这暗示着当文件系统拦截层在共享文件仓库上运行时,文件仓库服务将不通过直接读取/写入加密的数据操作,而是通过将这些服务经由远程过程调用机制重新定向到代理应用程序。在代理应用程序中,用于私有仓库文件的相同本地文件仓库服务被用于共享仓库内容。
当然存在用于实现共享仓库的其他可能的设计。例如,可使用与过程间(inter-process)同步机制耦合的共享储存器来协调访问。但是在任何可行的设计中,应当注意的关键因素是,使用相同的底层加密文件仓库服务对实际文件数据进行加密,无论加密数据将保留在何处或者如何协调对其并行访问。
通过对强化且透明的文件加密服务提供由企业服务器管理的密钥,在无需重写应用程序以便使用新文件访问范例的情况下,可使得通过受管移动应用程序在本地保留和存储的信息的安全性得到保证。
添加管理策略指导的文件仓库配置的概念进一步允许了适当配置的受管应用程序之间的安全文档共享,其中所述概念允许多个应用程序绑定到相同的默认文件仓库。
在本说明书中描述的体系结构可被公司或其他企业用于灵活地实现管理策略,诸如公司拥有的设备,BYOD(自带设备)管理策略,用于允许企业用户使用他们的移动设备来安全地访问企业资源(文档、机密数据、企业应用程序和数据库服务器等)。这通过各种安全特征实现,例如,使得企业能够规定和实现用于控制对特定企业资源的移动设备访问的管理策略。管理策略可例如根据多种标准(诸如各个用户的角色(例如,用户在哪个部门)、移动设备的配置(例如,是否安装了任何黑名单移动应用程序)、用户的登录行为、移动设备的位置、和/或请求访问企业资源的时间)控制移动设备对企业资源的访问。在一些实施例中,体系结构还通过创建应用程序隧道加强了安全性,其中所述应用程序隧道使得企业移动应用程序能够安全地通过网络与企业系统通信。例如当用户终止雇佣或违反企业管理策略时(诸如如果他们将他们的设备破解或以其他方式使用其的不允许的配置),体系结构还可使得IT员工能够选择性地(和远程地)擦除企业应用程序的用户的移动设备和企业数据。
用于企业应用程序的密码(或其他类型的验证信息)的使用降低了企业资源被不当访问(例如,当移动设备丢失或被偷时,或者当移动设备被员工的孩子用来玩游戏时)的可能性。在一些实施例中,安全启动器(或安装在移动设备上的另一个组件)还通过执行移动设备的选择性擦除降低该风险(例如,当用户试图但未能输入阈值数量的连续次数(例如,5或10)的有效密码时)。选择性擦除操作从移动设备删除企业应用程序和相关联数据中的一些或全部,而无须删除任何个人应用程序或数据。在一些实施例中,企业的IT部分可通过远程向设备发布擦除命令,启动特定移动设备的选择性擦除。
在一些实施例中,当执行选择性擦除操作时,存储在安全容器中的文档和数据中的一些或全部被从移动设备删除或以其他方式变得不可访问。
在另一个示例中,元应用程序(meta-application)可被配置成至少部分基于移动设备被“擦除”(例如,删除存储在设备上的一些或全部数据,或从设备中移除软件应用程序)的次数来创建网关规则。
现在将描述用于使得非开发者(诸如公司的IT部分的成员)能够添加或以其他方式修改现有移动应用程序(诸如Android、iOS、或Windows移动应用程序)的行为的系统和方法。作为一个示例,该系统和方法可用于基于用户在企业内的角色,创建不同版本的移动应用程序(具有不同的特权、访问权限等)。例如,不同版本的移动应用程序可针对不同的工作种类(例如,行政员工、非行政员工、实习生等等)和/或不同的部门(销售、IT、人力资源等)创建。在该部分描述的方法可用对使用本公开系统的企业可用的应用程序修改或“包装”工具或实用工具实现。例如,该实用工具可驻留在服务器(例如,作为网页服务)上,该服务器对企业是可访问的,或者可被提供到企业(例如,作为PC应用程序)。
在典型使用情况场景中,将被修改的移动应用程序是被开发用于特定企业的定制应用程序。但是,这不需要是这种情况。例如,本公开系统和方法还适用于应用商店中的可用的可商购获得的移动应用程序。移动应用程序可被修改,而无须被专门写入以支持或启用此类修改。例如,开发者不需要包括应用程序中的任何专门的代码或功能以启用或促进修改,并且不需要包括在本公开的修改应用程序的方法中。
被修改的行为通常包括包括标准API调用或类的行为或由包括标准API调用或类的行为组成。下面是可经由本公开方法添加或修改的行为类型中的一些行为类型的示例。
移动应用程序可被修改成使得企业能够远程启动特定员工的特定移动设备上的应用程序数据的删除,而不影响应用程序的其他用户。如上面提到的,此类选择性擦除操作也可在例如当用户未能输入有效企业密码阈值数量的次数时执行。
如果可用的话,另外的代码可被添加,以实现不需要替换任何现有API调用的一个或多个特征或行为。作为一个示例,代码可被添加用于使得经授权的管理员远程触发(基于用户特定或移动设备特定的标准)存储在特定移动设备上的应用程序数据的删除。在本示例中,所添加的代码将添加接收和处理消息的功能,其中所述消息包含执行该选择性擦除或删除操作的命令。
单一登录访问和身份管理
图28描绘具有客户端设备2805、代理设备2810、资源2820、和/或验证服务2815的示例性系统。图29描绘客户端设备2805和代理设备2810的示例性详细视图。这些单元可实现本文所述的一个或多个方面。现将提供这些方面的简要概述,并在下面提供另外的示例。客户端设备2805可使用代理设备2810与一个或多个资源2820和/或验证服务器2815通信。在一些方面,客户端设备2805可以不被配置成直接与资源2820和/或验证服务2815通信。例如,客户端设备2805和资源2820可使用不同的验证和/或通信协议。代理设备2810可在这些不同的协议之间翻译。除此之外或作为另外一种选择,代理设备2810可提供另外的益处,如将在下面的示例中描述的。
客户端设备2805可将针对资源2820(诸如文档、电子邮件、服务、文件等)的请求发送到代理设备2810。代理设备2810可将请求转发到资源2820,并且作为响应,可启动代理设备2810与资源2820之间的验证。在验证期间的一点或多点处,资源2820可请求签名,诸如来自客户端证书。代理设备2810可以不直接访问对客户端证书,从而代理设备2810可包括在验证过程中的客户端设备2805,诸如如果客户端设备2805控制对客户端证书的访问。例如,代理设备2810可请求客户端设备2805使用客户端证书(或包括在其中的私有密钥)签署验证消息或将验证消息解密,或者返回可用安全证书列表或由特定安全证书的用户做出的选择。
代理设备2810可向客户端设备2805提供背景信息,该背景信息识别代理设备2810与资源/验证服务器之间的验证会话。例如并且将在下面的示例中进一步详述的,背景信息可识别在代理设备2810与资源2820和/或代理设备2810和验证服务2815之间交换(或将要交换)的验证信息的数据结构。客户端设备2805可使用背景信息来验证或以其他方式确认代理设备2810与资源/验证服务器之间的验证会话。一旦背景信息被验证,则客户端设备2805可向代理设备2810提供所请求的签名,并且代理设备2810可使用资源2820和/或验证服务2815完成验证。然后,代理设备2810可检索由客户端设备2805请求的资源,并将该资源提供到客户端设备2805。
客户端设备2805可包括终端设备、客户端计算机107或109、终端240、客户端计算机411-414、移动设备502、移动设备602、或任何其他设备中的任一个。例如,移动设备可包括智能电话、平板电脑等中的任一个。一个或多个应用程序可以在客户端设备2805上运行。应用程序可期望访问受保护的资源,诸如企业资源,并且包括在应用程序(或其他应用程序)中的模块可促进对那些受保护资源的访问。例如并且参考图29.在客户端设备2805上运行的应用程序可将针对资源的请求(例如,HTTP请求)发送到MAMP框架2905,这样可促进与代理设备2810的通信。在一些方面,MAMP框架2905可作为特权应用程序在移动设备2805上运行。MAMP框架2905可包括如之前描述的由MAMP框架614提供的功能中的全部或部分。
客户端设备2805还可具有PKOperation(公开密钥操作)SDK模块2910,所述模块2910促进对密钥库2915的访问,所述密钥库存储可用于出于验证目的进行签名的一个或多个客户端证书。例如,客户端设备2805可授权访问或拥有代表客户端设备2805的用户的客户端证书。在一些方面,证书可为企业发布的证书。证书可绑定到具有加密模块的物理智能卡。换言之,加密秘密可被局限于智能卡。用户可授权客户端设备2805访问智能卡保护证书。或者,证书可绑定到虚拟智能卡,其可使用硬件和/或软件模块来保护密钥。通过存储证书和私有密钥的一个供应过程,客户端设备2805和/或客户端设备2805的可移除硬件模块可被授权。用户可需要使用客户端设备2805输入PIN码,以对包括客户端证书私有密钥的操作进行授权。与客户端设备2805分离的另一个外部设备(例如,另一个智能电话)可控制证书,并且客户端设备2805可利用自定义阅读器界面来访问由外部设备控制的证书。
在一些实施例中,客户端证书和/或私有密钥可被限制于客户端设备2805或物理智能卡。因此,客户端设备2805可维持对密钥的控制。如果要求使用密钥的验证,则客户端设备2805可需要参与验证过程。这允许客户端设备2805保证用证书私有密钥执行的操作是客户端设备2805所期望的操作。一些机构可使用智能卡来实现某些操作的不可否认性(non-repudiation),这可要求用户具有对于由机构发布的证书的全部使用的授权。例如,文档签名可要求明确的用户授权,而对某些系统的验证可以不需要明确的用户授权。用于提供此类保证的合适的机制可取决于被访问资源的性质、所参与的代理设备、以及客户端设备2805如何操作。
代理设备2810可包括服务器(例如,服务器201、206、301、410)、计算设备、访问网关560、网关服务器606、或任何其他设备中的一个或多个。代理设备2810可促进客户端设备2805与企业资源或其他网络之间的通信。例如,客户端设备2805的用户可希望访问需要验证的企业资源,并且代理设备2810可调解访问。如果例如客户端设备2805不能直接访问资源,则客户端设备2805可使用代理设备2810来访问资源。例如,客户端设备2805可以不被配置用于由企业资源使用的协议。在一些方面,企业资源可使用用于验证的PKINIT实现Kerberos,但是客户端设备2805可以不用PKINIT事先Kerberos。类似的是,企业资源可使用客户端证书验证实现SSL,但是客户端设备2805可以不用客户端证书验证实现SSL。代替的是,客户端设备2805和代理设备2810可使用具有标准组件并且匹配熟知验证框架的协议进行通信。代理设备2810可在第一协议与第二不同的协议之间翻译,其中第一协议针对资源(例如,Kerberos或SSL)并且第二不同的协议针对客户端设备2805(例如,HTTP或HTTPS)。通过利用代理设备2810,客户端设备可以不需要理解和操作由企业资源使用的复杂或不同的协议。在这些示例中,代理设备2810可承担客户端的作用。但是,代理设备2810可以不具有对客户端证书私有密钥的控制。
在其他情况下,诸如如果客户端设备2805不被允许直接访问资源、如果客户端设备2805的访问能力受限、和/或如果代理设备2810通过改善性能或提供优选的接口增强了访问,则代理设备2810可用于促进对资源的访问。代理设备2810还可以促进增强的安全性。例如,Kerberos资源验证可要求从Kerberos KDC获得服务票据(例如,活动目录域控制器)。但是,KDC自身可包括不应当对一些客户端设备可直接访问的敏感企业资源。对于这些情况,Kerberos验证可要求使用受信任代理设备2810。又如,代理设备2810可为部署在企业的DMZ网络中的硬通信网关。为提供额外的安全益处,代理设备2810可以能够检查被代理到企业资源的通信,而不是允许客户端设备2805与企业资源之间的透明端对端通信流,如同代理设备2810不存在一样。也就是说,代理设备2810可具有与客户端设备2805正在使用的是什么资源和客户端设备2805使用的是什么协议有关的知识。如在下面的示例中进一步详述的,代理设备2810还可将背景信息提供到客户端设备2805,该背景信息识别代理设备2810与验证服务2815和/或资源2820之间的验证会话的一个或多个方面。客户端设备2805可使用该背景信息确定是否要签署由需要签名的代理设备2810所提供的数据。
参考图29,代理设备2810可包括分组引擎(packet engine)2920,其可为硬件模块和/或软件模块。分组引擎2920可促进与客户端设备2805和/或资源的通信。代理设备2810还可包括会话缓存2925。如将在下面的示例中进一步详述的,会话缓存2925可存储会话密钥和/或票据(例如,用于Kerberos会话的),以启用代理设备2810与一个或多个资源或存储资源的存储器之间的通信。代理设备2810可包括客户端验证模块2930,该客户端验证模块2930被配置成管理使用客户端设备2805进行的验证,诸如获取来自客户端设备2805的签名。对于Kerberos验证,客户端验证模块2930可包括PKINIT模块(其可称作类似的守护程序(daemon)),该PKINIT模块实现Kerberos验证协议(例如,PKINIT协议)的公钥形式的客户端。例如,其可为从Kerberos的开源具体实施可用的kinit命令行程序。
代理设备2810还可包括库模块2935(例如,PKOperation代理SDK 2935),该库模块2935被客户端验证模块2930用于提取访问客户端证书私有密钥的细节。对于Kerberos,可使用实现用于访问绑定到智能卡的客户端证书的PKCS#11API规格的PKOperation代理SDK2935。PKOperation代理SDK 2935可实现PKCS#11的部分,并且将相关的证书操作包装成可对客户端设备2805远程的形式。通过使用PKCS#11API,可包括标准Kerberos具体实施(诸如MIT)的Kerberos具体实施不需要修改。诸如如果对产品实现安全修补程序(securityfixes),则这使得更易于维护Kerberos产品。分组引擎2920、会话缓存2925、客户端验证模块2930、和PKOperation代理SDK 2935可包括硬件和/或软件模块,并且它们可执行的操作将在下面的示例中进一步详述。在一些方面,代理设备2810可包括一个或多个处理器和存储计算机可执行指令的存储器,其中所述指令在被处理器执行时,使得代理设备2810提供分组引擎2920、会话缓存2925、客户端验证模块2930、和PKOperation代理SDK 2935,和/或执行分组引擎2920、会话缓存2925、客户端验证模块2930、和PKOperation代理SDK 2935的操作。
客户端设备2805和代理设备2810可使用标准框架(诸如HTTP框架)进行通信。在一些方面并且将如下面的示例描述的,客户端设备2805和代理设备2810可交换一个或多个验证消息。它们可交换HTTP状态代码,诸如用于请求验证的HTTP 401代码,和/或挑战-应答(challenge-response)消息。在一些实施例中,如果接收401验证挑战的客户端设备2805不支持客户端私有证书的安全交换,则客户端设备2805可将401消息识别为客户端设备2805不了解的验证挑战。客户端设备2805可以适当的错误处理行为做出响应,诸如向用户显示一个消息,该消息为由于客户端设备2805不支持客户端私有证书的安全交换而导致操作不能完成。支持公钥远程处理的HTTP级别编码可以是相对简单的。分组引擎2920和MAMP框架2905可对HTTP级别编码进行处理。通信可为类似于在RFC 4559中描述的HTTP协商验证方案的结构,其中RFC 4559通过引用以其整体并入本文。Base64编码的blobs可使用WWW验证和/或授权报头(Authorization header)在客户端设备与代理设备之间来回交换。blobs可以在每个设备处由相应的PKOperation SDK 2935生成和处理。
在一些实施例中,在客户端设备2805与代理设备2810之间的通信路径中的HTTP知晓的组件可以不与验证过程配合。例如,在客户端设备2805与代理设备2810之间的HTTP代理服务器可知晓的是,到代理设备2810的连接不应当被重新用于发送来自其他客户端设备和/或用户的请求。另外,从客户端设备2810返回的任何HTTP数据的缓存应当被正确地规定范围,使得数据不被发送到另一个客户端设备。
在一些方面,客户端设备2805与代理设备2810之间的验证可利用标准验证框架,诸如网页验证或具有自定义机制的通用安全服务应用程序编程接口(GSSAPI)。对象可从代理设备2810发送到客户端设备2805。客户端设备2805可对对象进行处理并通过标准的加密机制(诸如具有名称检查的证书路径验证)确认它们有效。
可创建客户端设备2805与代理设备2810之间的专用通信通道。例如,专用通信通道可用于中继证书操作请求和结果。使用专用通信通道可提供在客户端设备2805与代理设备2810之间的标准SSL通道所不能提供的额外加密保护。这可以适当地提供远程加密操作的输入和输出的敏感度。在一些示例中,可发生客户端设备2805与代理设备2810之间的Diffie-Hellman密钥交换。该交换可提供客户端设备2805与代理设备2810之间的相互验证。在一些实施例中,相互验证可以在客户端设备2805请求资源访问之前已被建立。如在RFC5929(其据此通过引用以其整体并入本文)中描述的通道绑定,可用于将专用通信通道以加密形式链接到外部SSL会话。简单参考图29,设定用于数据(诸如PK操作有效载荷)的专用通信通道可使用客户端设备2805与分组引擎2920之间的多个交换。这对于除PKOperation SDK 2910和PKOperation代理SDK 2935之外的所有事物均是不透明的。
经由专用通信通道提供额外保护的一个原因是,实际上SSL可通过连网设备(诸如在代理设备2810之前的卸载设备)终止。卸载设备可被优化用于SSL连接处理,诸如通过使用专用硬件来加速参与SSL连接的CPU密集型操作。硬件模块还可经认证满足商业上重要的加密处理标准,诸如联邦信息处理标准(例如,FIPS-140)。提供额外保护的另一个原因是,检查设备可被提供对SSL证书密钥的访问,以便将通信解码。检查设备可包括被设计成监控(诸如通过检测将机密信息发送到受信任网络区域之外的尝试、或与非受信或非授权服务器通信的尝试)网络流量以符合安全管理策略的安全设备。这些检查设备中的一些可被配置成在SSL连接握手期间冒充其他服务器,以便阻止检查过程由于加密通信通道的使用而被破坏。使用专用通信通道可阻止敏感数据不必要地和/或不合适地暴露于卸载设备和/或检查设备。因此,使用智能卡等同客户端证书所期望的不可否认性特性可受到保护。例如,专用通信通道可阻止将被签署的数据被外部设备修改和/或由于解密数据的泄漏而被修改。
专用通信通道可以许多方式实现。例如并且如之前提到的,可使用在标准HTTP验证协议内操作的自定义GSSAPI机制。该实现提供若干非排他性的益处。第一,代理设备2810可以标准方式(例如,HTTP)向客户端设备2805指示,完成所请求资源的访问需要对资源和/或验证服务器的验证。第二,可在客户端设备2805与代理设备2810之间执行任意二进制协议,如果必要的话可执行多次循环。第三,该实现允许安全通信机制被协商并应用于以标准方式(例如,在GSSAPI级别)传送数据。在一些具体实施中,在标准HTTP验证协议内操作的自定义GSSAPI机制还可允许将与被添加的自定义机制(诸如MICROSOFT NegoEx机制)一起使用的GSSAPI的平台实现。
参考图28,可存在一个或多个验证服务2815(或运行验证服务2815的服务器)。验证服务2815可实现一种或多种类型的验证,包括KerBeros或SSL。本文所述的方面可被实现用于包括客户端证书私有密钥操作的任何验证协议。例如,对于KerBeros,验证服务可具有发布票据(包括票据授权票据和/或会话票据)的任务。验证服务器可通过一个或多个通道与代理设备2810通信。另外,该一个或多个通道可使用与客户端设备2805所使用的与代理设备2810通信的通信协议不同的通信协议。在一些方面,验证服务2815可保持不变,即使实现本文所述的方面。换言之,验证服务2815可存在于传统基础设施中。验证服务2815可包括例如上面提到的验证服务558。
一个或多个资源2820(或存储资源2820的服务器)可存在。资源2820可使用与验证服务器所使用的与代理设备2810通信的协议相同或不同的协议中的一个或多个,来与代理设备2810进行通信。在一些方面,资源可保持不变,即使实现本文所述的方面。换言之,资源可存在于传统基础设施中。资源的非限制性示例包括但不限于文件资源、网页资源、邮件资源、Sharepoint资源等。这些资源可包括结构化查询语言(SQL)数据库、远程过程调用(RPC)服务器、分布式组件对象模型(DCOM)服务器、简单对象访问协议(SOAP)网页服务、表述性状态转移(REST)网页服务、以及可使用GSSAPI或类似安全框架进行验证的其他专有资源。这些资源中的一个或多个可以由内部设备(诸如与资源在相同网络上或在另一个受保护网络中的计算机)直接访问。资源可包括上面提到的企业资源504、508、和/或608和/或企业服务508、和/或609。另外,资源可存储在一个或多个服务器上,诸如图2所示的服务器206。资源可通过多层系统(multi-tier system)访问。代理设备2810可与前端服务器通信,前端服务器继而与后端服务器通信(并且验证为请求的用户)。具有无约束委派的KerBeros可用于这种类型的系统,并且代理设备2810可将用于用户的转发的TGT供应到前端服务器。
图30A-C为用于验证和/或使用代理来提供对资源的安全访问的示例方法步骤的流程图。图30A-C示出由客户端设备2805、代理设备2810、验证服务2815、和/或资源2820中的一个所执行的每个步骤。但是,该方法步骤可由客户端设备2805、代理设备2810、验证服务2815、资源2820、和/或它们的组合中的任一个执行。如前面提到的,资源2820和验证服务2815可由相同的服务器(或服务器组)提供。另选地,资源2820和验证服务2815可由不同的服务器(或服务器组)提供。为简单起见,方法步骤中的一些在图30A-C中被示出为由单个资源/验证服务实体(例如,服务器或服务器组)执行。但是,验证服务可由验证服务器(或验证服务器组)提供,并且资源可由不同的服务器(或服务器组)提供。
在步骤3002中,可通过客户端设备2805验证用户。例如,用户可提供凭证(诸如用户姓名和/或密码)以登录到客户端设备2805。
在步骤3004中,客户端设备2805可验证代理设备2810。除此之外或作为另外一种选择,在步骤3006中,代理设备2810可验证客户端设备2805。换言之,客户端设备2805和代理设备可执行相互验证。为执行验证,客户端设备2805可使用具有服务器验证的SSL连接到代理设备2810。代理设备2810可请求客户端设备2805和/或客户端设备2805的用户在授权对代理设备2810的访问之前,对代理设备2810进行验证。在一些方面,客户端设备2805可使用企业客户端证书进行该验证。企业客户端证书可与由客户端设备2805使用以签署文档和/或验证消息的证书相同,如将在下面的示例中进一步详述的。另选地,企业客户端证书可包括不同的证书。例如,客户端设备2805可具有多个证书,每个用于不同的目的。如果使用物理智能卡,则多个证书可存储在智能卡或不同的智能卡上。
类似地,客户端设备2805可请求验证代理设备2810以便建立代理设备2810是已知受信任实体,并且可通过代理来请求识别用户借助委派验证(delegated authentication)而对其验证的资源。客户端设备2805还可向代理设备2810验证客户端设备2805的用户,例如将可用于设备的客户端证书用作SSL握手的一部分,或者通过在SSL连接内运行单独的用户验证协议(例如通过HTTP)。资源2820还可希望知晓对资源2820的访问被代理设备2810调整,诸如通过使用资源访问协议。因此,相互验证或识别可被执行用于全部三个实体,即客户端设备2805/用户、代理设备2810、和资源2820。
在验证和/或识别三个实体中的一个或多个之后,客户端设备2805可向代理设备2810发送针对一个或多个资源(诸如网页资源、企业资源(例如,来自网络文件服务器)、或其他资源)的请求,所述资源可通过代理设备2810访问但是可需要基于客户端证书的用户验证。针对资源的请求可通过客户端设备2805经由HTTP、HTTPS、或客户端设备支持的任何其他访问协议发送。代理设备2810可从由客户端设备2805使用的访问协议(例如,HTTP或HTTPS)翻译或桥接到由资源使用的访问协议。在翻译之后,在步骤3010中,代理设备2810可将请求转发到资源和/或验证服务,或以其他方式试图访问所请求的资源。
在步骤3012中,资源可请求来自代理设备2810的验证。例如,资源可指示待执行验证的类型(例如,SSL、基于域的验证,诸如KerBeros等)。根据验证的类型,资源可发送验证挑战(例如,用于KerBeros验证的401协商消息或用于SSL验证的客户端证书挑战)。对于KerBeros验证,可使用PKINIT协议,并且在PKINIT协议中,代理设备2810可扮演客户端的角色,以便针对Kerberos领域(例如,MICROSOFT活动目录域)验证由客户端证书识别的用户。资源服务器可生成Kerberos验证挑战,诸如HTTP 401协商。对于SSL验证(例如,使用客户端证书),代理设备2810可向资源表示,代理设备2810访问用户的客户端证书和/或密钥。代理设备2810可试图直接验证资源,而不是验证特定的域(如在Kerberos验证中的)。除此之外或作为另外一种选择,代理设备2810可知晓在试图访问所请求资源之前需要验证。在任一种情况下,代理设备可确定并启动与资源的相关验证协议交互。这些交互可包括另外的实体,诸如运行资源信任的验证服务的验证服务器。
在步骤3014中,代理设备2810可确定可用于启动与资源(或具有资源的服务器)的安全通信会话的会话密钥是否可用。会话密钥可已经基于与资源或验证服务的在先的验证会话而被代理设备2810已经先前获得,并且存储(例如,缓存)在代理设备处。对于Kerberos验证,会话密钥可用Kerberos票据存储,诸如票据授权票据(TGT)或其他时间限制票据。参考图29并且对于Kerberos验证,代理设备2810的分组引擎2920可调用其Kerberos验证响应逻辑,其检查在会话缓存2925中是否已经存在用于资源(例如,网页资源)的服务票据。在一些方面,为响应检查,如果代理设备2810知晓要求和/或支持客户端证书验证的话,则客户端验证模块2930可调用PKINIT。对于SSL验证,会话密钥可用于恢复之前的SSL连接,诸如SSL会话。如果会话密钥(和/或票据)可用(步骤3014:是),则代理设备2810可使用会话密钥(和/或票据)继续到步骤3054(获取所请求的资源),如将在下面的示例中进一步详述的。
对于第一次验证,会话缓存可以是空的(例如,未存储有效会话密钥和/或票据)(步骤3014:否)。因此,代理设备2810可启动对资源的验证。参考图29并且对于Kerberos验证,分组引擎2920可将内部PKINIT命令发布到客户端验证模块以获取TGT。为进行验证,代理设备2810可基于对客户端设备2805可访问的客户端证书确定,需要一个或多个客户端证书和/或签名。这些证书和/或签名可以不直接由代理设备2810访问。参考图29,客户端验证模块2930可将命令(诸如内部P11获得证书命令)发送到PKOperation代理SDK 2935以获得来自客户端设备2805的证书。客户端验证模块2930可将Kerberos客户端实现包括在内,其支持公开密钥密码学标准(PKCS),诸如标准PKCS#11库接口,作为查找用于PKINIT的合适客户端证书的方式。PKOperation代理SDK 2935可实现PKCS#11API功能的相关子组以支持PKINIT特征。
在步骤3016中,代理设备2810可将请求发送到客户端设备2805,所述请求关于对客户端设备2805可用和/或可访问的证书的列表。该请求可被编码到HTTP报头中。例如,请求可被编码到HTTP中的401状态代码中,其指示要求验证并且挑战客户端设备2805进行验证。参考图29,如果客户端设备2805对请求做出响应的话,则代理SDK 2935可要求对分组引擎2920自定义界面,代理SDK 2935可用于将证书请求(例如,PK操作请求)发送到客户端设备2805并接收结果。如果证书请求需要被远程处理,则代理SDK 2935可将请求编码成二进制结构(当合适时具有加密/完整性包装器),并提交到分组引擎2920。为响应初始HTTP请求,分组引擎2920可引起一个具有将被发送到客户端设备2805的自定义验证挑战的HTTP401响应,其包含被编码在WWW验证报头中的二进制结构。
在一些方面,代理设备2810可以不响应于针对来自客户端设备2805的证书列表的请求而接收响应。具体地,不保证客户端设备2805将对证书(例如,PK操作)请求做出响应。例如,客户端设备2805可毁坏或者以其他方式不能对请求做出响应。另外,客户端设备2805可试图获取用于操作的用户许可(例如,通过请求用户输入PIN来解锁密钥库2915),但是许可可能被拒绝。为处理客户端设备2805不返回客户端证书列表的情况,代理设备2810(诸如代理SDK 2935组件)可使用超时时间以便最终放弃证书请求操作。在这些情况中,代理设备2810可返回合适的错误代码。在PKINIT登录期间,若干PK操作可被发送到设备,直到PKINIT登录成功、失败、或被放弃或超时失效。
在步骤3018中,客户端设备2805可接收来自代理设备2810的证书列表请求,并且作为响应,识别对客户端设备2805可用或以其他方式可访问的证书。例如并且参考图29,客户端设备2805的MAMP框架2905可接收消息(例如,HTTP 401请求),该消息具有来自代理设备2810的自定义验证挑战。将其识别为证书请求(例如,PK操作“验证”协议),MAMP框架2905可将得自所接收报头格式的消息解码,并将消息的二进制结构传送到PKOperation SDK2910。PKOperation SDK 2910可具有可用客户端证书的知识。如之前提到的,客户端证书可为物理智能卡、虚拟智能卡等的形式。PKOperation SDK 2910可将请求解码(包括处理任何加密/完整性包装器),并将其派遣到合适的内部处理程序。处理程序可对请求进行处理,并生成可用证书列表。证书列表可根据被请求操作的相关性过滤,例如,被过滤成只包括具有合适密钥使用标识的证书。证书列表可被过滤,直到只有一个证书留下。例如,还可通过向客户端设备2805的用户呈现UI以拾取应当用于操作的证书,对列表进行进一步过滤。列表可为代表操作结果的二进制结构。如果列表不能被生成的话,则PKOperation SDK 2910可将证书列表(该列表可仍为二进制结构)返回到MAMP框架2905或用信号通知错误情况。
参考图30B,在步骤3024中,客户端设备2805可将包括可用证书列表的消息发送到代理设备2810。在一些方面,消息可作为HTTP或HTTPS消息发送。例如,MAMP框架2905可重播来自代理设备的原始HTTP请求,但使用附接到包括可用证书列的请求的自定义授权报头。在发送之前,消息可被密封在加密/完整性包装器中和/或被编码以符合HTTP报头。
在步骤3026中,代理设备2810可接收来自客户端设备2805的消息(并且如果必要的话,将消息解密/解码)。参考图29,分组引擎2920可识别从客户端设备2805接收的HTTP请求是由代理设备2910发送的原始证书请求的重新发送。分组引擎2920可经由客户端验证模块2930,将来自授权报头的数据的二进制结构提交到代理SDK 2935。代理SDK 2935可将二进制结构(包括加密/完整性包装器)解包,并将解包的数据返回到客户端验证模块2930。接着,代理设备2810可选择证书(来自证书列表中)(诸如适用于验证会话的证书(即,用资源/验证服务器来验证代理设备2810))来用于通过资源/验证服务器验证代理设备2810。在一些实施例中,Kerberos和SSL标准可指定所期望或需要的密钥使用。例如,如果验证会话包括Kerberos验证,则代理设备2810可需要获取Kerberos票据并且可选择适于获取Kerberos票据的证书。如果在步骤3024中客户端设备2805返回多个证书,则代理设备2810可将选择请求发送到客户端设备,以寻找从证书列表中选择的用户输入。
在验证会话期间,代理设备2810和资源可继续交换消息。在验证会话期间的一点或多点处,可要求代理设备2810执行客户端设备2805的签名(诸如私有密钥)的加密操作。私有密钥可以不对代理设备2810直接可用。替代的是,私有密钥可保持在客户端设备2805的控制下并且不直接暴露于代理设备2810。代理设备2810可通过专用通信通道与客户端设备2805交互,以获取签名(例如,私有密钥)。
在步骤3028中,代理设备2810可生成针对签名的请求,其中所述签名对应于来自客户端设备2805的选定证书。代理设备2810还可生成待签署的数据段。对于Kerberos验证,数据段可包括使用选定证书的验证服务请求(AS_REQ)消息。AS_REQ消息可任选地与针对将被发送到客户端设备2805的签名的请求包括在一起。如果客户端设备在提供签名之前需要确定验证背景的完整细节,则代理设备2810可将未签署AS_REQ消息发送到客户端设备2805。如果客户端与代理设备之间的通信协议和/或Kerberos验证实现不支持将AS_REQ消息发送到客户端设备2805,则代理设备2810可以不将AS_REQ消息发送到客户端设备2805。如将在下面的示例中论述的,一旦AS_REQ消息已被客户端设备2805签署,则代理设备2810可将签署的AS_REQ消息发送到验证服务2815和/或资源2820进行验证。
在步骤3030中,代理设备2810可确定将被包括在签名请求中的验证背景信息。在一些方面,背景信息可不限制于大小和格式。例如,代理设备2810可将背景信息作为二进制大对象(BLOB)发送。一般来讲,背景信息可包括识别代理设备2810与资源/验证服务器之间的验证会话的信息。如将在下面的示例中进一步详述的,客户端设备2805可使用背景信息来校验或以其他方式确认代理设备2810与资源/验证服务器之间的验证会话。
现将提供背景信息的内容的示例。背景信息可识别以前在代理设备2810和资源/验证服务器之间交换的验证信息的数据结构。例如,如果代理设备2810和资源已经交换了验证消息并且当前正在验证中,则背景信息可包括交换的验证消息中的全部或部分。除此之外或作为另外一种选择,背景信息可识别未来将被代理设备2810发送到资源/验证服务器的验证信息的数据结构。在Kerberos验证中,例如,背景信息可包括将被代理设备2810发送到资源/验证服务器的AS_REQ消息中的部分或全部。
背景信息可包括与验证会话相关联的时间戳信息。时间戳可识别如由代理设备2810确定的当前时间。对于Kerberos/PKINIT,验证服务2815和/或资源2820可在验证期间确认时间戳有效。通常,时间戳应当在由验证服务2815和/或资源2820确定的当前时间的合理紧密公差内(例如,在X秒以内)。由于时间戳是用于使用验证服务2815和/或资源2820来验证代理设备2810,因此时间戳还可用于由客户端设备2805进行的校验。更大的公差阈值(例如,X+Y秒)可被客户端设备2805使用,因为客户端设备2805和代理设备2810可能不与代理设备2810和验证服务2815一样紧密地时间同步。客户端设备2805可使用时间戳信息来检查验证会话是最近的(例如,在最后一分钟之内、在最后一天之内等等)。
背景信息可识别被代理设备2810和资源/验证服务器使用的验证协议的类型。例如,如果使用Kerberos验证,则背景信息通常可识别Kerberos,或者如果使用的是Kerberos的PKINIT特征,则识别PKINIT/Kerberos。作为一个示例,可使用“签署PKINIT(sign-for-PKINIT)”。背景信息还可识别请求签名或特定代理设备2810实现的应用程序。例如,可使用“通过签署PKINIT(sign-for-PKINIT-by-)”或“通过签署PKINIT(sign-for-PKINIT-by-)”。如果使用SSL验证,背景信息可识别SSL。作为一个示例,可使用“签署SSL客户端验证(sign-for-SSL-client-authentication)”。背景信息还可识别代理设备2810执行哪个SSL验证操作(例如,操作1、操作2等)和代理设备2810验证哪个资源。
背景信息可识别代理设备2810从客户端设备2805所提供的证书列表中选择的证书(例如,步骤3026)。通过提供选定证书,客户端设备2805可能够确定被代理设备2810和资源使用的验证协议的类型。
背景信息可识别验证会话的数据结构,诸如Kerberos数据结构或SSL数据结构。例如,Kerberos验证会话可包括抽象语法表示法1(ASN.1)构造,代理设备2810可经由背景信息识别该抽象语法表示法构造。具体地,待签署的AuthPack(其可为AS_REQ的一部分)可具有客户端设备2805可识别的定义明确的ASN.1结构。对于SSL验证,数据结构可包括证书校验(CertificateVerify)结构。
背景信息可包括可被客户端设备2805用于认证验证会话的特定信息片段。特定信息片段还可用于识别验证会话的数据结构。例如,如果验证会话包括Kerberos验证,则背景信息可包括例如与Kerberos验证相关联的总和检查、用于Kerberos验证的Kerberos域(例如,特定验证服务器服务的领域)、与客户端设备2805相关联的Kerberos主体名称(例如,被分配到客户端设备2805的用户名)、用于验证会话的密钥分配中心(KDC)的标识符、所请求的票据的有效期(例如,TGT票据或会话票据)、以及已在验证期间设定的Kerberos标记(例如,基于目前在代理设备2810和资源/验证服务器之间交换的验证消息)。客户端设备2805可校验的示例标记为“可转发的”标记,其可指示所得的票据可被转发到另一个设备。如前面提到的,将被客户端设备2805签署且将被发送到资源/验证服务器的AS_REQ消息的部分或全部可被发送到客户端设备2805。
对于SSL验证,仅特定信息片段可能不足以使客户端设备2805识别代理设备2810与资源/验证服务之间的SSL验证会话的背景。例如,特定信息片段对于客户端设备2805像是随机数据,因为SSL验证创建了在代理设备2810与资源之间往返的整个数据包系列的散列。因此,在一些实施例中,在请求来自客户端设备2805的签名之前,用于SSL验证的背景信息可包括代理设备2810与资源之间的整个(或接近整个)验证对话。换言之,全部SSL操作(例如,握手消息)可被提供到客户端设备2805。代理设备2810生成所执行的SSL操作的累积消化。因此,客户端设备2805可检查客户端设备2805希望检查的握手的任何部分,这允许客户端设备2805确定被访问资源的身份并且确认握手是符合语法规则的(well-formed)。在一些方面,代理设备2810可通过证书操作接口将整个SSL握手过程委派到客户端设备2805。当握手完成时,客户端设备2805可供应主秘密,所述主秘密受到用于客户端与代理之间的专用通信通道的密钥交换的保护。
在步骤3032中,客户端设备2805可接收来自代理设备2810的针对签名的请求,并提取包括其在中的背景信息。例如,客户端设备2805可将请求消息解码和/或解密。背景信息的示例已在前面列出。在步骤3034中,客户端设备2805可试图校验背景信息。客户端设备2805可使用背景信息来校验代理设备2810与资源/验证服务器之间的验证会话是有效的。例如,客户端设备2805可使用背景信息来确定代理设备2810正与资源/验证服务器通信并确定在它们之间发生的通信的类型。可使得客户端设备2805知晓资源验证协议的相关部分(或整体)或代理的验证背景,足以使客户端设备2805满足其自身,例如,所访问的资源是期望的资源、所请求的加密操作是期望的协议的部分、以及加密操作的结果即将或者可以只被有效地用作代理设备2810与资源之间的特定协议交互的部分。例如,客户端设备2805可检查数据(例如,用于Kerberos验证的AS_REQ消息),其中所述数据是客户端设备2805已被请求签署的,以确保所述数据(或附属数据)对应于由期望的验证协议(例如,Kerberos、SSL等)的构造所使用的熟知结构。数据还可潜在地包括可通过客户端设备2805校验的特定数据元。除此之外或作为另外一种选择,在客户端设备2805提供签名之前,客户端设备2805可在数据中查找可识别的和/或可校验的期望的结构。
如果背景信息未被校验(步骤3034:否),则客户端设备2805可发送指示背景信息不能被验证的消息。例如,客户端设备2805可发送不包括所请求的签名的响应。对于Kerberos验证,如果时间戳超出由客户端设备2805设定的公差阈值,则校验可能失败。对于SSL和Kerberos验证,客户端设备2805可执行对验证/资源服务器证书的证书连锁校验,其可能由于许多原因中的任一个而失败。用于Kerberos的证书连锁校验可要求单独的PK操作步骤(处理AS_REP,AS_REP是对AS-REQ的回复)。对于SSL,如果代理设备2810与资源之间的SSL验证消息的相关部分被发送到客户端设备2805,则连锁校验可以是可能的。
在一些方面,如果客户端设备2805不能基于已经由代理设备2810提供的背景信息进行校验,则客户端设备2805可请求来自代理设备2810的另外的背景信息。如果代理设备2810决定提供另外的背景信息,则代理设备2810可返回到步骤3030并且找到另外的背景信息提供给客户端设备。该另外的背景信息可为不同类型的背景信息。例如,如果代理设备2810之前提供了识别由代理设备2810所选择的证书的信息,则代理设备2810可提供来自在代理设备2810与资源/验证服务器(例如,在Kerberos验证会话期间设定的Kerberos标记,或在SSL验证会话期间交换的握手消息)之间交换的验证消息的特定信息。客户端设备2805可以不响应代理设备的签名请求,而不是发送不包括签名的消息。
在步骤3038中,代理设备2810可生成指示签名不可用的消息并将该消息转发到资源/验证服务器。在步骤3070中,资源/验证服务器可确定代理还未被验证,并且作为响应,可结束验证回话。换言之,资源/验证服务器可以不向代理提供会话密钥(或在Kerberos情况下的票据)。
背景信息可被校验(步骤3034:是)。对于Kerberos验证,如果例如所接收的时间戳在客户端设备的当前时间的公差内,和/或,如果所接收的AuthPack中的总和检查匹配由客户端设备计算的总和检查(在AS_REQ被作为背景信息提供的情况下),则校验可成功。如果背景信息被校验,在步骤3042中,客户端设备2805可使用证书来签署由代理设备2810提供的数据,所述证书可以是代理设备2810在步骤3026中选择的。例如,对于Kerberos验证,如果代理设备2810将未签署的AS_REQ消息提供到客户端设备2805(例如,在步骤3030中),则客户端设备2805可签署AS_REQ消息。如前面提到的,提供未签署AS_REQ是任选的。作为可替代方案,对于Kerberos和SSL验证,由代理设备2810提供的数据可包括任何数据块,诸如八位字节序列,其中将在所述数据块上计算签名。在签署数据之后,在步骤3044中,客户端设备2805可将具有签名和/或签署的数据的消息发送到代理设备2810。
在步骤3046中,代理设备2810可接收消息并提取签名和/或签署的数据。例如,签名(其可为另一个八位字节序列)可被返回到代理设备,并且被代理设备插入到待被发送给资源或验证服务的合适的验证消息中,如将在下面进一步详述的。参考图29,分组引擎2920可接收消息,并将消息转发到代理SDK 2935。代理SDK 2935可将签名提供到客户端验证模块2930。
在步骤3048中,代理设备2810可将包括签名的验证消息发送到资源/验证服务器。该验证消息可响应于由资源/验证服务器在步骤3012中发送的验证请求。一般而言,验证消息可以用于获得用于代理设备2810的会话密钥以获得由客户端设备2805请求的资源。在Kerberos验证中,例如,验证消息可包括AS_REQ消息,该AS_REQ消息用于获取会话密钥和票据,诸如TGT,其可被代理设备2810用于获取用于与资源的安全通信会话的票据。如果代理设备2810接收到来自客户端设备2805的签署的AS_REQ消息,则代理设备2810可将该签署的AS_REQ消息转发到资源/验证服务器。如果代理设备2810单独接收到签名,则代理设备2810可生成AS_REQ消息,并将签名附加到AS_REQ消息。在一些方面,AS_REQ消息可以PA-PK-AS-REQ格式进行编码,如在RFC 4556中描述的,RFC 4556通过引用以其整体并入本文。
在步骤3050中,资源/验证服务器可接收验证消息,并确定该验证消息是否具有有效的签名。如果签名无效,则资源/验证服务器可执行步骤3070,其在前面已被论述(例如,确定代理设备2810不是验证和/或结束与代理设备2810的验证会话)。
在步骤3052中,如果签名有效(步骤3050:是),则资源/验证服务器可生成会话密钥和/或将会话密钥发送到代理设备2810。在Kerberos验证中,资源/验证服务器还可将票据(诸如TGT或服务票据)发送到代理设备2810。可使用代理设备2810和/或客户端设备2805可解密的另一个密钥,对会话密钥和/或票据进行封装。在一些方面,消息可作为KerberosAS_REP消息发送。
在步骤3053中,代理设备2810可接收会话密钥和/或票据并存储(例如,缓存)会话密钥和/或票据。它们可被缓存用于后期使用。例如,如果客户端设备2805请求另外的资源,则会话密钥和/或票据可在未来使用。参考图30A,代理设备2810可确定当代理设备2810下一次需要获取用于客户端设备2805的资源时,会话密钥在步骤3014中可用。参考图29并且对于Kerberos验证,客户端验证模块2930可填充Kerberos票据缓存,以用于与TGT和/或服务票据的用户会话以及它们对应的会话密钥。
在一些实施例中,代理设备2810可以不具有密钥以解密从资源/验证服务器接收的具有会话密钥和/或票据的消息。取代的是,,例如,如果客户端设备2805并未完全信任代理设备2810,则客户端设备2805可控制对密钥的访问。在这些实施例中,代理设备2810和客户端设备2805可任选地交换另外的消息组(例如,在另外的证书操作中),以便解密包括会话密钥和/或票据的封装的消息。所述交换可取代代理设备2810在步骤3053中解密并存储会话密钥和/或票据而发生。
例如,在Kerberos验证中,PKINIT可使用Diffie-Hellman密钥交换来协商用于包装TGT会话密钥的AS应答密钥,如在RFC 4556中的3.2.3.1节段中描述的,所述RFC 4556通过引用以其整体并入本文。另选地,KDC可使用公钥加密来对其使用证书的公开RSA密钥生成的AS应答密钥进行加密,如在RFC 4556中的3.2.3.2节段中描述的。这样可以迫使代理设备2810请求客户端设备2805对应答密钥进行解密。在这些示例中,客户端设备2805可选择保留应答密钥和其保护的其他密钥,诸如TGT会话密钥,其中所述TGT会话密钥允许其控制TGT的任何使用以请求其他的票据(并且如果期望的话,同样控制那些服务票据的使用)。因此,取代步骤3053中代理设备2810存储会话密钥和/或票据的是,客户端设备2805可存储会话密钥和/或票据。如果客户端设备2805具有对代理设备2810的适度信任,而不是完全信任,则这可以是合适的。
现在将描述关于使用公钥加密的进一步细节。如果使用RSA公钥加密返回AS应答密钥,则代理设备2810可请求来自应答消息的数据字段中的子结构的客户端设备2805的证书私有密钥解密,其中应答消息具有从资源接收的会话密钥和/或票据,诸如KRB-AS-REP应答消息的encKeyPack字段。得自客户端设备2805解密的blob可为SignedData(签署数据)结构,如在RFC 3852中的节段5.1中描述的,所述RFC 3852通过引用以其整体并入本文。SignedData结构可具有内容类型的id-pkinit-rkeyData和包括如在RFC4556中的节段3.2.3.2中定义的ReplyKeyPack结构的内容字段。SignedData上的签名字段可包括允许客户端设备2805执行证书路径校验以确认KDC的身份的KDC的证书。因此,如果使用了RSA公钥交换,则客户端设备2805可具有完全校验KDC(代理设备2810向该KDC验证)的身份的能力。如果使用了Diffie-Hellman密钥交换,则代理设备2810可看见KDC的证书并执行路径校验。代理设备2810可不需要涉及客户端设备2805来完成密钥交换。
另选地,客户端设备2805可具有对代理设备2810的高度信任,并且允许代理设备2810对包括会话密钥和/或票据的消息解密。在这些实施例中,代理设备可对消息解密并且将会话密钥和/或票据按照相对于步骤3053先前描述的进行存储。例如,代理设备2810可控制Diffie-Hellman密钥交换,允许代理设备2810恢复会话密钥(例如,与TGT相关联的),而无需进一步的客户端设备2805支持。在这种情况下,当代理设备2810可行使TGT的完全控制时,代理设备2810可被客户端设备2805授权非约束委托权限。
除此之外或作为另外一种选择,代理设备可使用微软活动目录(MicrosoftActive Directory)环境来获取会话密钥和/或票据。在微软活动目录环境中,代理设备2810可支持PKINIT过程的扩展,该扩展允许代理设备2810从域控制器接收用户的密码的散列(诸如NTLM凭证)。这允许代理设备2810响应NTLM验证挑战以及Kerberos验证挑战。除非客户端设备保留AS应答密钥以保留对TGT会话密钥的控制(如前面描述的),否则恢复NTLM密码散列可不需要代理设备2810与客户端设备2805之间的另外的交互,因为NTLM密码散列可使用与用于传送TGT会话密钥的AS应答密钥相同的AS应答密钥进行加密。
在步骤3054中,代理设备2810可使用会话密钥获取请求的资源。在步骤3056中,服务器或其他数据库可基于会话密钥提供请求的资源。对于Kerberos验证,在步骤3052中,资源/验证服务器可提供TGT和相关联的会话密钥。在本例中,代理设备2810可通过使用TGT获得用于请求的资源的另外Kerberos服务票据,代表客户端设备2805的用户执行内嵌验证(inline authentication)。参考图29,如果PKINIT和Kerberos票据提取成功重试了对资源的代理HTTP请求,则客户端验证模块2930可以信号通知分组引擎2920。这可以在会话密钥/票据缓存被填充时执行。分组引擎2920可附加包含由服务票据和会话密钥生成的适当Kerberos二进制结构(AP_REQ)的授权报头来获取资源。如前面提到的,客户端设备2805可能不完全信任代理设备2810。在这些示例中,客户端设备2805可保留对TGT会话密钥的拥有,并且可要求当请求用于单独资源的服务票据时代理设备2810与客户端设备2805交互。如此,客户端设备2805可确保代表其自身被代理设备2810访问的资源的身份的可见性。
在步骤3058中,一旦代理设备2810获得资源,代理设备2810可将资源发送到客户端设备2805。在步骤3060中,客户端设备2805可接收请求的资源并且按需使用该资源,诸如通过访问数据或服务(诸如企业数据或服务)。如前面论述的,数据或服务可在数据仓库616中加密,以保护客户端设备2805上的数据或服务。
在一些实施例中,客户端设备2805可使用VPN通道(例如,通过代理设备2810)或其他类型的通信通道,与资源2820(诸如Sharepoint)通信。取代代理设备2810接收来自资源2820的资源验证挑战(例如,在图30A所示的步骤3014中)的是,客户端设备2805可经由VPN通道接收挑战。客户端设备2805可建立与代理设备2810的第二平行对话(或通过之前建立的通道与代理设备通信),以使得代理设备2810能够帮助验证。这是有益的,因为客户端设备2805可能不具有执行某种类型的验证(诸如Kerberos验证)的功能。在第二平行对话期间,客户端设备2805可将资源验证挑战呈现给代理设备2810。代理设备2810可然后与验证服务2815(例如,在Kerberos验证情况下的KDC)通信,并获得客户端设备2805访问资源所需的会话密钥(和在Kerberos验证情况下的Kerberos票据)。此时,在客户端设备2805、代理设备2810、和验证服务2815之间执行的步骤可包括,例如,之前参考图30A-C论述的步骤3014、3016、3018、3024、3026、3028、3030、3032、3034、3036、3038、3070、3042、3044、3046、3048、3050、3052、和/或3053中的任一个。在代理设备2810接收来自验证服务2815的会话密钥和/或票据之后,代理设备2810可通过客户端设备与代理设备之间的安全通信通道,将密钥和/或票据返回到客户端设备2805。客户端设备2805现在可使用会话密钥和/或票据来响应从资源2820接收的资源验证挑战,并且获得请求的资源。另选地,取代代理设备2810将密钥和/或票据返回到客户端设备2805的是,代理设备2810自身可构造对资源验证挑战的响应,并将验证响应发送到客户端设备2805。客户端设备2805可将该响应转发到资源2820以获得请求的资源。
在图30A-C中示出的步骤可应用于签署文档(诸如电子邮件或其他文档类型)和/或应用于解密由证书私有密钥保护的数据。在签署文档的示例中,代理设备2810可向客户端设备2805提供将作为本文所述的背景信息进行签署的文档。
在图30A-C中示出的步骤还可应用于虚拟化环境,诸如桌面和/或应用程序虚拟化。在虚拟化环境中,客户端设备2805可运行虚拟化应用程序,诸如图6中示出的客户端代理604或用于建立远程显示连接(例如,CITRIX ICA、CITRIX RDP等)的任何其他客户端应用程序。如前面提到的,客户端设备2805可仍然保护私有证书,诸如存储在物理或虚拟智能卡中的密钥。
代理设备2810可包括应用程序或桌面虚拟化服务器(诸如图3示出的虚拟化服务器301)的一部分或为应用程序或桌面虚拟化服务器(诸如图3示出的虚拟化服务器301)的一部分。此类服务器可运行应用程序并且可与资源(诸如企业资源)通信。代理设备2810与客户端设备2805之间的在虚拟化环境中的通信可通过显示远程协议(诸如CITRIX ICA协议或CITRIX RDP协议)来处理。资源可包括上面提到的企业资源504、508、和/或608和/或企业服务508和/或609。
在一些实施例中,在图30A-C中示出的步骤可用于虚拟化环境。另选地,可实现一些变化。客户端设备2805与代理设备2810之间的HTTP通信可被使用显示远程协议(诸如CITRIX ICA协议或CITRIX RDP协议)的通信替代。PKOp代理SDK 2935可包括第三方应用程序。因此,由上述PKOperation代理SDK 2935执行的步骤可由第三方应用程序执行。在一些方面,代理设备2810可调出第三方应用程序来执行这些步骤。
现将描述示例虚拟化环境。可使用标准OS Kerberos具体实施,其中虚拟化服务器运行OS,诸如Microsoft Windows。例如,可使用Kerberos安全服务提供者(Kerberos SSP)验证包(SSP/AP)。可使用对Kerberos SSP的各种编程接口,包括但不限于LsaCallAuthenticationPackage和KERB_CERTIFICATE_LOGON。智能卡等同客户端证书结合自定义凭证提供者和自定义密钥存储提供者(KSP)可用于调用之前论述的PKINITKerberos登录协议。KSP可暴露于可使用私有密钥(诸如AuthPack结构的总和检查)签署的PKINIT的特定协议元素。另外,Kerberos SSP可使用OS API来调用加密操作,诸如用于计算总和检查的散列API,其中计算总和检查为生成签名的初始步骤。通过拦截由Kerberos SSP发出的散列API调用,可以看到可基于其计算签名的协议元素。散列API调用可使用自定义SSP拦截,其中所述自定义SSP被加载到受信任LSASS过程中,在该LSASS过程中KerberosSSP执行PKINIT。
如前面提到的,待签署的单元可包括在RFC 4556中的节段3.2.1中描述的AuthPack结构。另外,协议元素可具有一些符合语法规则的结构,诸如遵循ASN.1二进制编码规则的结构。此外,结构可包括代表当前时间的时间戳,从而允许客户端设备2805执行针对客户端设备自身的当前时间知识的基本校验检查。为允许可能在实践中产生的时间差异,客户端设备2805可希望允许更宽范围(例如,比验证服务器(例如,KDC)将允许的范围更宽)的差异。例如,客户端设备2805可接受在其自身的时间值的24小时之内的时间值,而不是KDC可允许的5分钟。
在一些实施例中,KSP可以可靠地定位KRB-REQ-BODY二进制结构,该二进制结构已在调用最终调用KSP的证书签署操作之前在Kerberos SSP中准备好。如果该结构可被定位,诸如从堆栈查核行程(stack walk)返回到Kerberos SSP,那么AuthPach的完整校验可以是可能的。另选地,通过拦截由Kerberos SSP发出的OS散列API调用,为将KRB-REQ-BODY的总和检查作为AuthPack结构的准备的一部分来计算,KRB-REQ-BODY结构可以是直接可见的。然后结构的拷贝可被代理设备2810发送到客户端设备2805,作为PK操作请求的一部分。类似地,AuthPack结构对于作为签名构造的一部分的散列API是可见的。如前面提到的,客户端设备2805与代理设备2810之间的专用通信通道可包括自定义GSS-API机制。在虚拟化实施例中,专用通信通道可在显示远程协议中的虚拟通道内。例如,可使用SSPI虚拟通道。在一些方面,如果SSPI协商自身未能完成验证,则由显示远程协议所支持的其他验证方法可被替代地使用。
在一些实施例中,本文所述的方法可应用于CITRIX和/或可支持使用智能卡虚拟通道的智能卡远程处理,该智能卡遥控远程处理远程处理智能卡阅读器接口(例如,PC/RC)。出于Windows登录的目的,本文所述的方面可替换PC/SC远程处理。一旦会话已被建立,则智能卡可被访问,例如以便支持使用智能卡来签署文档的应用程序。这可以通过适当地配置由使用的智能卡API钩实现,使得它们不在Windows登录过程(例如,winlogon.exe、logonui.exe等)中应用,但正常情况下仍然应用于其他过程。
从客户端设备2805的角度来看,被远程处理的证书操作可与特定形式的PKINIT(例如,“从签署PKINIT(sign-for-PKINIT-from-)”)相关联,并且在结束时用于PKINIT的智能卡背景可以立即释放,使得应用程序引起额外的PIN提示(如果需要的话)。除此之外或作为另外一种选择,智能卡可已经在PKINIT请求之前使用,例如,被客户端设备2805用于对代理设备2810或另一个设备或服务器执行具有客户端证书验证的SSL。如此,单个PIN提示可足以启用由客户端设备2805对代理服务器进行的验证,其中所述代理服务器识别将被用于资源访问操作(来自可执行该服务的多个设备)的代理设备2810。选定的代理设备2810可然后执行PKINIT,而无需另外的PIN提示并且无需具有客户端设备2805所需的明确PIN缓存。在域名登陆到应用程序或桌面虚拟化服务器的情况下,可通过远程智能卡验证的传统方法实现显著的性能改善。另外,这可以实现而不需要实现用于虚拟智能卡的完全阅读器或智能卡接口。
可实现对上述方面的各种修改。可使得每个实体(客户端设备2805、代理设备2810、验证服务2815、和/或资源2820)知晓其他实体的活动。例如,每个实体可设置有用于其他实体中的一个或多个的标识符。所述标识符可以在之前相对于图30A-C描述的消息交换中的任一个发生期间提供。例如,代理设备2810可将识别客户端设备2805的信息插入到被代理设备2810发送到资源/验证服务器的信息包中。代理设备2810还可将识别资源/验证服务器的信息插入到被代理设备2810发送到客户端设备2805的信息包中。通过类似的方式,可将客户端设备2805的类型(例如,PC、平板电脑、智能电话等)提供到其他实体。在一些方面,如在RFC 6113(其通过引用以其整体并入本文)中描述的Kerberos协议扩展(例如,MS-KILE)可用于使得实体的活动可用于其他实体。通过将识别信息提供到资源2820,资源2820可确定谁在访问数据和/或还限制对数据的访问。
对于Kerberos的情况,在一些实现(例如,Windows Server 2012实现)中,在网络服务验证期间提供两个主体身份是可能的。代理设备2810可使用其自己的Kerberos身份(例如,TGT)来“铠装(armor)”TGS交换,如在微软Kerberos协议扩展文件编制[MS-KILE]和RFC6113中描述的。该技术被称作FAST,也在RFC 6113中进行了描述。用于用户/客户端设备2805和代理设备2810的复合身份可被创建。在Windows Server 2012中,该复合身份可暴露于在Windows ACL框架之上操作的资源,并具有用于ACL的检查机器身份和其他请求的能力。虽然Windows Server 2012实现已被描述,但本领域的技术人员将认识到,使用不同操作系统的其他实现可被使用。
代理设备2810可使用广义请求机制来另外供应与客户端设备2805自身有关的信息,所述信息可以反映其身份(如果从其他方式得知的话,诸如由SSL对代理设备2810进行的设备证书验证)或设备的其他相关属性(诸如其类型、OS、版本)、或可在从客户端设备2805到代理设备2810的验证或资源访问过程期间得知的安全态势。
对上述方面的另一个修改可包括调整用户体验,以通知用户使用客户端证书的操作。被代理设备2810提供到客户端设备2805的信息可被显示给用户。在另一个示例中,显示可指示客户端设备2805正在登录过程中,其也可使用客户端证书。PIN提示也可使用类型1阅读器显示(诸如用于智能卡)。显示给用户的如实表示待执行操作的更详细显示可被提供。例如,为使用客户端证书来签署文档,文档可被显示给用户以供查看。待执行业务的合适综合指示器也可被显示。详细显示可用于智能卡类别中的任一种(诸如类别4)。在一些实施例中,客户端设备2805可模拟智能卡阅读器(或支持使用该阅读器,如果与物理智能卡交互的话)。
可避免与用户的不必要交互。例如,远程证书操作的范围可被适当地分组(例如,限定边界),使得是相同组的部分的多个操作(例如,使用相同资源验证协议的一组操作)可被识别为相同组的部分,并且逻辑组可被创建。在一些方面,一个信息显示或提示可被显示给用户用于进行相同组内的操作。大概来讲,在传统物理智能卡的情况下,该逻辑分组对应于获取和释放智能卡背景。
用于安全数据共享的应用程序管理框架
改善的技术包括经由平行的、隐藏的、加密的粘贴板,在运行于电子移动设备之上的安全应用程序之间传送数据。该隐藏的粘贴板仅对在移动设备上运行的安全(或“受管”)应用程序组定义(例如,经由管理策略)。另外,全部数据均被将数据写入到隐藏粘贴板中的受管应用加密,并且然后被从隐藏粘贴板读取数据的另一个受管应用解密,从而阻止数据暴露(即便隐藏的粘贴板的位置被发现)。
一个实施例涉及在运行于电子移动设备上的安全应用程序之间传送数据的方法,该方法在具有(i)处理电路和(ii)存储器的电子移动设备中执行。方法包括:通过处理电路接收复制命令;以及通过处理电路并且响应于复制命令,将来自第一安全应用程序的原始数据加密以形成加密的数据。方法还包括,通过处理电路并且响应于复制命令,将加密的数据写入到驻留在存储器中的隐藏粘贴板中,以使得第二安全应用程序能够随后读取并解密来自隐藏粘贴板的加密数据,驻留在存储器的位置处的隐藏粘贴板与驻留在存储器中的通用剪切板不同,通用剪切板可通过在电子移动设备上运行的非安全应用程序组访问。
图31A示出适用于在安全应用程序之间传送数据的电子移动设备。除了别的之外,电子移动设备包括用于用户输入/输出的用户接口、存储数据的存储器、和处理电路。合适移动设备的示例包括智能电话、平板电脑设备、电子笔记本等等。在智能电话的背景下,各种特定平台均适用,诸如运行由苹果计算机(Apple Computer)提供的iOS、由Google提供的Android、和由Microsoft提供的Windows的那些各种特定平台是合适的。
在操作期间,电子移动设备通过执行操作(诸如启动应用程序、建立到外部设备的连接(例如,蜂窝电话、WiFi连接等)以交换无线信号、以及执行有用的工作)来响应用户命令。按照这些思路,电子移动设备的处理电路运行非安全应用程序组(即,一个或多个)、和安全应用程序组。
当处理电路运行非安全应用程序时,处理电路被配置成访问通用剪切板以便以常规方式进行复制和粘贴操作。例如,当处理电路运行第一非安全应用程序时,用户能够从第一非安全应用程序将数据复制到通用剪切板。另外,在处理电路运行第二非安全应用程序的同时,用户能够将复制的数据从通用剪切板粘贴到第二非安全应用程序的工作空间中。
但是,如图31B所示,安全应用程序被配置成访问隐藏的加密粘贴板。具体地,为使用安全应用程序执行复制操作,处理电路将数据加密并且然后将加密的数据写入到粘贴板中(绕过通用剪切板)。另外,为使用安全应用程序执行粘贴操作,处理电路从隐藏的加密粘贴板读取数据,并且在将解密的数据放置到该安全应用程序的工作空间中之前将数据解密。因此,数据从未暴露到安全应用程序之外。
在一些设置中,移动设备能够将数据从通用剪切板输入到安全应用程序中。按照这些思路并且如图31C中所示,通过非安全应用程序将数据复制到通用剪切板中创建了可检测的复制事件。当处理电路运行接收复制事件的指示的安全应用程序时,处理电路从通用剪切板读取数据,将数据加密以形成加密的数据,并将加密的数据写入到隐藏的加密的粘贴板中。因此,在隐藏的加密粘贴板内的数据现在与在通用剪切板中的数据同步,并且访问隐藏的加密粘贴板的安全应用程序现在可从隐藏的加密粘贴板访问数据。在一些设置中,移动设备配备不同的安全应用程序组来使用不同的安全粘贴板。例如,处理电路可将(i)隐藏粘贴板的第一存储器地址和第一加密密钥组提供到第一安全应用程序组,(ii)将到另一个隐藏粘贴板的第二存储器地址和第二加密密钥组提供到第二安全应用程序组,等等。安全应用程序的该部署和配置可经由管理策略对分组应用程序实现,其中管理策略将特定组、密钥和粘贴板命令到每个安全应用程序。
虽然本公开的各种实施例已被具体示出并描述,但是本领域的技术人员应当理解,可在其中做出各种形式和细节上的改变,而不脱离由所附权利要求定义的本公开的实质和范围。另外,进一步的细节在下面本专利申请该部分的所附材料中提供。
一些设置涉及阻止敏感数据在受管应用程序组之外共享的系统。公司可希望对该受管应用程序组限制数据共享,从而允许完全双向访问,还潜在地允许传入的不安全数据(诸如来自网页的文本)被复制到受管应用程序中的一个中。在现代的操作系统(诸如iOS、Android和Windows)上,存在一种通常被称作“粘贴板”或“剪切板”的机制,其用于在应用程序之间共享数据。用户可将数据从一个应用程序“复制”到粘贴板中,并且然后将该数据从粘贴板“粘贴”到第二应用程序中。一个问题是,被加入到粘贴板中的数据无论如何也不安全,并且有时需要保护数据使得只有定义的受管应用程序组可共享该数据,使其对其他非受管应用程序隐藏。本公开的方面涉及用于将复制和粘贴操作重新定向到并行加密粘贴板的机制,其中只有受管应用程序访问平行加密粘贴板。
为提供受管应用程序组之间的安全复制和粘贴功能,电路将复制和粘贴操作重新定向到并行的粘贴板。该并行粘贴板通过其他应用程序对一般视图隐藏,并且被写入到其中的全部数据被加密。只有受管的应用程序知道如何访问该隐藏的、加密的粘贴板。
另外,为允许用户从不安全应用程序向受管应用程序中的一个复制和粘贴数据,同步法监控非安全粘贴板的变化,并按需将变化写入到安全粘贴板中。
另外,在一些情况下,系统管理员可选择对单个应用程序、一组应用程序、或全部受管应用程序,完全禁用复制和粘贴功能。这可通过将合适的管理策略实施点加入到重定向代码中实现。
同样,可需要具有多个应用程序组,其中每个应用程序组具有其自己的安全粘贴板。这可以通过使用管理策略对应用程序分组来实现,并且然后向每个组提供它们自己独立的安全粘贴板。
在一些移动设备中:
1.通过使用并行的、隐藏的、加密的粘贴板,受管应用程序之间的复制和粘贴是完全安全的。
2.与非安全粘贴板的同步允许用户从非安全应用将数据复制和粘贴到安全应用中,但反之不然。
3.基于由系统管理员设定的管理策略,复制和粘贴功能可被完全阻止。
另外,根据特定管理策略的设置,受管应用程序组内的应用程序可被约束成只与该组内的其他受管应用程序交换文件和/或数据。在一些设置中,来自受管应用程序的API调用被插入的(或包装的)代码拦截,所述代码操作以“包含”以包含应用程序。特定的管理策略被读取,并且由API调用指定的操作被阻止或允许,这取决于管理策略中的设置。由于管理策略具有受管应用程序组中全部应用程序的记录,因此应用程序通过阅读管理策略可测试API调用的请求的操作是否包括在设置之内或之外的应用程序,并且相应地允许或阻止活动。因此,基于管理策略设置,数据的移动可受限制,使得受管应用程序组内的数据不与受管组外的数据搅杂在一起。
应当理解,拦截API、咨询应用程序的管理策略、和基于管理策略允许或阻止由API调用指定的操作的过程可在许多背景下执行。在一个示例中国,上述过程可应用于选择移动设备上的可用于打开由链接或图标(例如,使用打开方式)识别的文件或数据元的应用程序组。在另一个示例中,上述过程可应用于从一个应用程序复制数据或数据对象,并将数据或数据对象粘贴到另一个应用程序中(例如,经由隐藏的、加密的粘贴缓冲器)。在另一个示例中,上述过程可应用于将文件移入和/或移出受保护的文件仓库。实质上,用于将数据移入和/或移出应用程序的任何操作均可利用上述技术。
在移动操作系统(诸如iOS、Android、和Windows 8)上,每个应用程序运行其自己的沙箱。这些应用使用级别非常高的内容共享机制,例如iOS中的打开方式、Android中的意图/活动(Intents/Activities)和Windows8中的Charms。在BYOD(自带设备)移动设备上,其将使受管的和非受管的/个人的应用程序的混合运行于设备上。在这里,我们专注于如何实现受管应用程序组之间的数据共享。
在当代的移动操作系统(如iOS)上,文件系统通过设计成隐藏复杂性而不真正暴露于最终用户。重点是在应用程序上和它们处理的数据。
存在可将数据移入和移出设备的许多方式。主要的示例包括电子邮件、云存储资源(例如,DropBox、GoogleDocs、Box)、浏览器等。然后数据需要在受管应用程序之间移动,以完成实际工作。
在图31D中,所显示的全部应用均为受管应用程序,即受管应用程序组1的成员。
为保持数据只在受管应用程序之间移动,通过拦截调用并且只向应用程序提供可处理该特定文件格式的受管应用程序组,对被提供到应用程序的打开方式列表进行过滤。相同的技术扩展为邮寄至(Mail To)选项,其中用于邮寄至的URL方案可被拦截并被呈现为只具有受管邮件应用程序的邮寄至选项,如图31D中所示。
这样的话,即便受管应用程序也可被迫使只保存共享应用程序(例如DropBox、GoogleDocs、Box)的受管数据。
通过使用上述拦截和过滤技术,流入或流出设备的数据以及设备上的数据受限于受管安全空间。相同的技术可以容易地扩展到Android和Windows 8。
上述附图呈现3个应用场景:企业电子邮件应用程序、云存储资源、和pdf注释应用程序。用户可希望从云存储资源获得文件,用PDF标注器对文件注释,并将文件传送到企业电子邮箱。之所以可以这样工作,是因为这些都在受管组中。但是其对于阻止文件通过私人电子邮件、或者传送文件以供非受管组部分的其他应用程序查看(并且因此受信任)也是必须的。
一般来讲,不存在受信任应用与其他应用的搅杂,但搅杂取决于管理策略。EMM服务器上的管理员可设置用于受管应用程序的任何任务的管理策略,以便允许/不允许各种特征。可能的是,管理策略可允许人们将文件从PDF标注器导出到受管组之外的应用程序中,但然后可丢失对PDF文件的控制。
一般概念是用户设置受管应用程序的管理策略,其中默认设置包含受信任应用的受管组内的数据。管理策略动态地从EMM服务器送出。但是,可提供例外,例如,以当企业担心对其支配时允许内容从受管组泄漏。
对于非受管组部分的应用,应当理解,不存在对正常活动的干扰,即,它们不受限。
在示例中,受管组中的每个应用程序创建其自己的VPN返回给EMM服务器。EMM客户端(例如,Citrix客户端代理)登录到EMM服务器上,并且协商以构建安全隧道。每个应用程序支持其自己的通向EMM服务器的VPN隧道。应用可通过VPN隧道直接连接到EMM服务器上的服务,而无需通信以通过EMM客户端。
改善的技术包括施加对得自非受管应用程序的受管应用程序的控制。一旦受管应用程序已被安装在电子设备(诸如电子移动设备)上,则受管应用程序根据以例程方式在移动设备上本地更新的管理策略进行操作。
例如,应用程序来源(诸如应用商店、软件开发者等)可作为非受管应用(即,不受本地管理策略控制的应用程序)的存储库操作。来自应用程序来源的非受管应用然后被反编译,扩充基于管理策略集施加控制的指令集,并且然后被重新编译以形成受管应用程序。然后通过应用程序来源(例如,相同的应用商店、不同的应用商店、企业应用程序服务器等)供应受管应用程序以供移动设备使用。
一旦受管应用程序安装在移动设备上,则受管应用程序根据单独维持在移动设备上的管理策略集进行访问和操作。另外,受管应用程序可请求来自应用程序来源的更新的管理策略集,并且可根据随时间更新的管理策略集且以例程方式操作。
图32示出适于使用的电子环境。该电子环境包括应用商店、运行专用软件实用工具的软件转换设备、应用商店服务器、和移动设备(例如,智能电话、平板电脑等)。
应当理解,应用程序来源和应用商店服务器被示出为单独的装置,尽管在一些设置中它们可为相同的装置。在一些设置中,移动设备的用户从应用商店服务器购买受管应用程序,并且应用商店服务器同时作为载体以及管理策略服务器操作,其中所述载体用于分配受管应用程序,所述管理策略服务器用于分配控制受管应用程序如何在移动设备上操作的管理策略。
应当理解,电子环境的各种装置通过电子信号被计算机化并进行通信。例如,每个计算机化装置可包括通信接口以便连接到通信介质(诸如网络、存储器)从而缓存和/或永久性地存储信息,并且连接到处理电路以便执行操作系统和本地应用程序。
在操作期间,转换设备运行专用软件实用工具,该专用软件实用工具接收来自软件来源的非受管应用(参见步骤1)。转换设备在根据专用软件实用工具运行时,将非受管应用反编译成人类可读的源代码。然后,转换设备修改人类可读源代码以包括管理策略控制特征。具体地,转换设备被构造且设置成分析(例如,扫描和识别)活动和合适的位置,以将基于管理策略的控制指令插入到人类可读的源代码中。转换设备然后重新编译人类可读的源代码,以形成受管应用。
应用商店服务器然后加载来自转换设备的受管应用(参见步骤2),从而使得受管应用可用于分配。另外,管理员提供控制受管应用的操作的管理策略,并且还使得此类管理策略在应用商店服务器上可用于分配。
移动设备的用户能够经由安装在移动设备上的应用商店应用,浏览由应用商店服务器提供的应用。当移动设备的用户希望获得受管应用(例如,通过购买)时,用户指示移动设备上的应用商店应用请求受管应用(参见步骤3)。应用商店服务器通过将受管应用提供到移动设备,来响应应用请求(参见步骤4)。
用户然后将受管应用安装在移动设备上(参见步骤5)。该安装可通过应用商店应用自动触发(例如,应用商店应用自动指示操作系统安装受管应用),或者由用户手动协调。
当用户初始调用受管应用时,管理应用与应用商店应用通信,以获得管理策略集(参见步骤6)。在购买期间,该管理策略集可被从应用商店服务器提供到应用商店应用。但是,如果管理策略集不存在,则应用商店应用将管理策略请求发送到应用商店服务器以请求管理策略集(参见步骤7)。响应于管理策略请求,应用商店服务器将管理策略集提供到移动设备(参见步骤8)。应当理解,管理策略集和受管应用是独立的软件构造。
此时,受管应用能够根据管理策略集运行,并且因此使得用户能够执行有用的工作(参见步骤9)。按照这些思路,管理策略集可指示其中受管应用将请求更新的管理策略集的次数。例如,管理策略集可指示受管应用每天、每两天、每三天等等获得新的管理策略集。
当受管应用要求新的管理策略集时,受管应用用信号通知应用商店应用,以从应用商店服务器检索新的管理策略集(再次参见步骤6)。也就是说,应用商店应用作为代理进行操作,并且代表受管应用从应用商店服务器获得新的管理策略集。在一些设置中,移动设备运行多个受管应用,并且相同的应用商店应用代表每个受管应用与应用商店服务器通信。一个实施例涉及从非受管应用程序生成受管应用程序的方法。方法包括通过处理电路接收来自应用程序来源的非受管应用程序,所述非受管应用程序被构造和设置成在移动设备上执行。方法还包括通过处理电路将非受管应用程序反编译成非受管源代码,该非受管源代码是人类可读和可编辑的。方法还包括通过处理电路将基于管理策略集的控制指令添加到非受管源代码中以形成受管源代码,所述基于管理策略集的控制指令被构造和设置成提供基于管理策略的控制。方法还包括通过处理电路编译受管源代码以形成受管应用程序,当该受管应用程序在移动设备上执行时,被构造和设置成根据单独存储在移动设备上的管理策略集进行访问和操作。
合适的处理电路的示例包括各种软件开发平台的特定硬件,诸如服务器、通用计算机、客户端工作站等。此类平台可配备有各种软件开发工具,包括编译器、链接器、库、编辑器、调试器、其他运行时环境和测试实用工具等。
另一个实施例涉及操作电子移动设备的方法。方法包括在第一通信期间,通过电子移动设备的处理器接收来自应用程序服务器的受管应用程序,所述受管应用程序被构造和设置成根据管理策略集进行访问和操作。方法还包括在第二通信期间,通过处理器接收来自应用程序服务器的管理策略集,所述第二通信与第一通信不同,所述管理策略集存储在与受管应用程序分开的电子移动设备上。方法还包括通过处理器在移动设备上运行受管应用程序,所述受管应用程序根据存储在与受管应用程序分开的电子移动设备上的管理策略集进行访问和操作。
其他实施例涉及电子系统和装置、处理电路、计算机程序产品等。一些实施例涉及在生成、部署和操作得自非受管应用的受管应用中所涉及的各种过程,电子组件和电路。
虽然本公开的各种实施例已被具体示出和描述,但是本领域的技术人员应当理解,可在其中做出各种形式上和细节上的改变,而不脱离如由所附权利要求定义的本公开的实质和范围。
例如,应当理解,移动设备允许用户从通常被称为应用商店(例如,存储前端(storefront))的外部网站或服务购买和下载用于他们的设备的应用程序。浏览这些应用商店服务的应用程序可被得知为应用商店应用或存储前端应用。一旦应用商店应用已经下载并安装了应用程序,通常该应用程序的管理可中断。例如,对应用程序的权利的丢失、或对于应用程序的允许的使用的改变可以不被维持或执行。一旦应用程序安装在设备上,则分配该应用程序的企业或公司可失去控制对该应用程序的访问的能力。
许多供应商提供管理整个设备的常规解决方案。例如,希望安装受管应用程序的用户必须首先将他们的设备注册到企业移动设备管理系统(MDM)中。这些MDM服务通常需要严格遵守企业安全管理策略,迫使用户遵循(如果他们希望安装应用程序的话)。另外,通过将他们的设备注册到MDM系统中,用户常常必须放弃他/她对他们的设备的某些方面的控制(诸如不具有通行码或密码组的能力)。
许多员工将优选使用他们自己的设备,但是不将他们的设备注册到一些MDM服务中。因此,需要的是企业管理受管设备上的应用程序的方式。
在本公开内论述的改善的技术提供一种方式,通过该方式,企业可对应用程序添加管理,并将这些应用程序分配到非受管设备。
一些技术涉及用于对被分配到非受管设备的应用程序添加管理的系统和方法。系统包括在移动设备上运行的用作应用商店应用的应用程序,所述应用商店应用用于从用作应用商店的一个或多个站点或服务下载并安装其他应用程序。系统还包括软件实用工具,其用于输入非受管应用程序和输出具有添加的额外管理软件的相同应用程序。系统还包括控制受管应用程序如何期望操作的安全管理策略或规则组。
一些技术涉及方法,所述方法包括管理员通过向软件实用工具提交非受管应用程序来生成受管应用程序。方法包括软件实用工具将原始应用程序反编译为字节码。方法还包括修改字节码以插入管理软件和组件。方法还包括将修改的应用程序重新编译成新的并且受管版本的应用程序。方法还包括将受管应用程序发布到应用商店并且使得受管应用程序可用于通过应用商店应用下载和安装。方法还包括受管应用程序周期性地联系应用商店应用,以确认权限并刷新安全管理策略。
一些改善的技术提供企业向非受管设备提供受管应用程序的方式,其缓解了将设备注册到移动设备管理系统中的需要。一些改善的技术提供一种方式,通过该方式,企业可分配并控制对不在其直接控制下的设备上的特定应用程序和数据的访问,即使那些应用程序在初始写入时不包括管理软件。
一些技术涉及将管理代码动态地插入到现有非受管应用程序中的软件实用工具(和相关联的方法)。如此,即使是在初始开发时不具有任何管理软件的应用程序,也可被添加到企业受管应用程序列表中。
另外,应用商店应用现在用作验证和安全管理策略管理应用程序。其以改善的方式扩展常规存储前端应用程序的意图和使用,从而允许管理非受管设备上的特定应用程序。
另选的常规方法常常包括设备管理(其中整个设备被注册到管理系统中)或者重写应用程序使其添加特定的管理组件作为应用程序的核心设计的部分。但是,通过上述改善的技术,控制可被施加并且经由在本地常规部署到移动设备的管理策略而被动态更新,以指示受管应用的操作。
企业应用存储前端
如上面参考图5描述的,企业活动技术体系结构可包括应用商店。企业应用商店界面可例如生成一个或多个用户界面和/或使得一个或多个用户界面被显示(例如,在移动设备上,诸如从其接收到身份凭证的计算设备)。在一个或多个设置中,企业应用商店界面可使得用户(诸如可访问企业应用商店的移动设备的用户)能够浏览和/或下载各种应用程序。企业应用商店界面可例如被一个或多个管理用户配置成包括各种特征,所述各种特征可对已经部署和/或正在实现企业应用商店的机构或其他企业特定。例如,企业应用商店界面可包括对机构或企业的员工(和/或可以其他方式隶属于机构或企业的其他企业用户)可用(和/或已被选择、推荐、和/或许可)的一个或多个应用程序的列表。另外,被呈现给特定用户的所述一个或多个应用程序(例如,在包括在企业应用商店界面中的应用程序列表中)可被企业应用商店基于用户的身份来选择。在一些情况下,通过企业应用商店(其可例如由第一机构提供给员工和/或隶属于机构的其他用户)呈现给第一用户的企业应用商店界面可包括第一应用程序组,而通过企业应用商店呈现给第二用户(其可例如在身份、角色等方面与第一用户不同)的企业应用商店界面可包括与第一应用程序组不同的第二应用程序组。例如,第二应用程序组可包括由用于第二用户的企业应用商店根据确定而选择的一个或多个应用程序,其中所述确定为由企业应用商店进行的应用程序被推荐用于和/或更适用于第二用户(例如,并且可能不适用于第一用户)。
针对应用程序的请求可被接收。例如,企业应用商店可接收针对软件应用程序的请求。例如,企业应用商店可接收来自计算设备的请求,所述请求为下载和/或以其他方式提供在企业应用商店中的对计算设备可用的特定应用程序。该请求可例如基于计算设备(其可例如为移动设备,诸如智能电话、平板计算机、或其他移动计算设备)的用户而被接收,所述用户使用企业应用商店界面来选择和/或请求从企业应用商店下载特定的应用程序。
应用程序可被配置用于在计算设备处操作。例如,企业应用商店可根据从计算设备接收的凭证来配置软件应用程序。在配置应用程序时,企业应用商店可例如建立一个或多个用户特定设置、应用一个或多个管理策略、和/或以其他方式基于例如所接收的凭证以及用户的身份、访问权限、和/或特权,来修改待提供应用程序的通用和/或默认设置。
例如,在一些实施例中,配置软件应用程序可包括建立一个或多个用户特定设置。例如,各种应用程序特定设置可被定义和/或存储(例如,用于相对于各种不同应用程序的某些用户)在一个或多个数据源中,并且在建立用户特定设置时,企业应用商店可基于从用户接收的信息或凭证,从一个或多个数据源查找、访问、和/或以其他方式获得这些设置。例如企业应用商店可使用信息和/或凭证来验证一个或多个数据源,并且识别一个或多个数据源中的特定的用户的应用程序特定设置(例如,基于用户身份)。
可通过企业应用商店建立的用户特定设置的一些示例包括可被设置用于特定应用程序(例如,电子邮件客户端、网页浏览器、文档管理软件等)的用户账户设置、可被设置用于特定应用程序(例如,电子邮件客户端、网页浏览器等)的网络和/或连接设置、可被设置用于特定应用程序(例如,字处理器、电子邮件客户端等)的自定义词典设置、可被设定用于特定应用程序(例如,字处理器、电子数据表工具、电子邮件客户端、文档管理软件等)的自定义视图和/或显示设置。可通过基于身份凭证存储的企业应用程序建立的用户特定设置的其他示例包括用户界面设置(例如,颜色设置、主题设置等)、语言设置、时区设置、货币设置、和/或其他设置。虽然这些示例示出可在一些实施例中建立的一些类型的设置,以及可针对其建立一些设置的一些类型的应用程序,在另外的和/或另选的实施例中,任何其他类型的用户特定设置可被建立用于这些和/或其他类型的应用程序中的任一个。
在一些实施例中,在配置软件应用程序时,应用商店可最低限度地配置应用程序,并且因此,在向接收设备提供应用程序时,应用商店可将最低限度配置的应用程序提供到接收设备。在一些情况下,最低限度配置的应用程序可为在其被提供到接收设备之前未被企业应用商店完全配置的应用程序。在其他情况下,在对最低限度地配置应用程序时,应用商店可例如建立对于启用应用程序的功能(例如,用于浏览器应用程序或电子邮件客户端应用程序的网络和/或连接设置)所必需的一个或多个设置,而无需建立对于启用此类功能(例如,用于浏览器应用程序或电子邮件客户端应用程序的颜色主题设置和/或其他用户界面设置)非必需的一个或多个设置。在一个或多个设置中,非必需设置可被替代地在运行时(例如,当应用程序例如在移动设备上执行时)和/或在运行时之后(例如,如由于应用程序的特定方面被调用可能所需的)在接收设备上建立(并且应用可被完全配置)。
在一些实施例中,被提供到接收设备的经配置的软件应用程序可为对应于虚拟化应用程序的存根应用程序(stub application)。例如,存根应用程序可对在一个或多个远程服务器和/或设备上执行的虚拟化应用程序提供容器或客户端代理(其可例如被提供在用户计算设备上)。在配置该存根应用程序时,企业应用商店可建立一个或多个设置,该一个或多个设置促进用于特定用户的虚拟化应用程序的执行(例如,用于虚拟化应用程序和/或虚拟化平台的用户账户设置、用于虚拟化应用程序和/或虚拟化平台的网络和/或连接设置等)。
在一些实施例中,企业应用商店还可自动向设备提供应用程序。例如,在其中企业应用商店确定某些设备和/或用户需要某些应用程序(例如,基于各种应用程序和用户的下载历史信息,基于各种应用程序和/或用户的更新和/或版本历史信息,基于由设备内置(on-device)监控代理提供的各种设备和/或用户的信息等)的情况下,企业应用商店可自动向特定设备和/或用户提供一个或多个所需的应用程序,来响应用户或设备需要应用程序的确定(例如,不需要该设备的用户手动选择下载特定需要的应用程序)。与企业应用商店有关的另外的方面将通过本公开的益处理解。
具有多个操作模式的应用程序和设备在用于连接的设备的编配框架中的操作
用户跨设备协调的系统和方法以及用于管理在计算设备处的企业资源的系统和方法在上文描述。因此通过本公开的益处应当理解,用户可期望经由编配框架使得受管的和非受管的计算设备互连,使得计算设备可以协调的方式交互以执行计算活动的至少一部分。另外,互连且协调的设备组可包括受管的和非受管的应用程序。因此,存在对于计算设备、应用程序、和可被配置成以受管或非受管模式操作的其他企业资源进行管理的需要。
图33-37示出用于基于计算设备的操作模式管理互连计算设备之间的交互的示例方法步骤的流程图。具体地,图33-35示出用于基于计算设备的操作模式在计算设备之间传送内容的示例方法步骤的相应流程图3300、3400、和3500。图36为用于基于计算设备的操作模式来确定是否要允许计算设备向虚拟剪切板复制或从虚拟剪切板粘贴的示例方法步骤的流程图3600。图37为用于识别可用于选作将内容传送至其的目标计算设备的计算设备组的示例方法步骤的流程图3700。在图33-37的流程图中示出的各种步骤在下面进一步详述。还应当理解,步骤仅以示例的方式示出,并且在流程图中公开的原理类似地适用于驻留在计算设备处的应用程序和应用程序的操作模式。
如上所述,用户可使用编配框架将内容从与用户相关联的一个计算设备传送到与用户相关联的另一个计算设备。内容还可以对等(peer-to-peer)方式在计算设备之间传送。如上所述,在计算设备之间传送的内容可包括基于文档的内容、基于图像的内容、基于视频的内容、基于音频的内容、和基于网页的内容。当编配框架促进计算设备之间的内容传送时,编配框架可基于操作模式确定计算设备之间的内容传送是否被允许,所述操作模式可包括例如受管操作模式、非受管操作模式、和部分受管操作模式。
内容是否被允许和如何被允许从一个计算设备(发起计算设备)传送到另一个计算设备(目标计算设备)可取决于发起计算设备的操作模式和目标计算设备的操作模式。类似地,从发起计算设备到目标计算设备的内容传送还可取决于安装在发起计算设备处的发起应用程序的操作模式和安装在目标计算设备处的目标计算应用程序的操作模式。计算设备之间的内容传送还可取决于计算设备与应用程序两者的操作模式。
例如,如果发起计算设备处于受管操作模式,则编配框架可确定将内容传送到同样处于受管操作模式的目标设备是允许的。如此,企业可保留对发起计算设备和目标计算设备处的内容的控制。通过类似的方式,如果内容被从发起设备处的受管应用程序传送,则编配框架可确定将内容传送到在目标计算设备处的同样处于受管操作模式的应用程序是允许的。如果编配框架基于操作模式确定计算设备之间的内容传送是允许的,则编配框架可启动并促进内容的传送,如上所述。在对等通信背景下,在计算设备处的编配代理可确定将内容传送到另一个计算设备是否是允许的,并且启动并促进传送来响应传送是允许的确定。编配框架(或编配代理)可通过向被选择以接收内容的计算设备发送一个或多个指令(例如,发送到编配代理或目标计算设备的应用程序解析器)来启动并促进内容的传送。
如果编配框架(或编配代理)确定传送是不允许的,则编配框架可阻止传送。编配框架可通过例如拒绝启动传送的请求、避免启动传送、或通过执行一些操作或不执行一些操作来以其他方式阻止传送发生来阻止传送。
在一些示例具体实施中,当计算设备均处于相同的操作模式时,计算设备之间的内容传送可被允许。例如,如果两个计算设备均处于受管操作模式,则那些设备之间的内容传送可被允许。类似地,如果两个计算设备均处于非受管操作模式,则那些设备之间的内容传送可被允许。在其他示例具体实施中,当每个计算设备配置有不同的操作模式时,计算设备之间的内容传送可不被允许。例如,当计算设备中的一个处于受管(例如部分受管)操作模式并且计算设备中的一个处于非受管操作模式时,计算设备之间的内容传送可不被允许。
然而,在其他示例具体实施中,根据哪个设备是发起计算设备和哪个设备是目标计算设备,具有不同操作模式的计算设备之间的内容传送可被允许。具体地,内容从处于非受管操作模式的发起计算设备传送到处于受管(或部分受管)操作模式的目标计算设备可被允许。这可以是因为驻留在非受管计算设备处的内容还未被指定为敏感内容,并且因此可在受管的、部分受管的、或非受管的计算设备处接收、通过其使用、通过其访问、和通过其呈现。相比之下,内容从处于受管(或部分受管)操作模式的发起计算设备传送到处于非受管操作模式的目标计算设备可不被允许。
上述原理类似地适用于驻留在相同或不同计算设备处的应用程序。从各自处于相同操作模式的应用程序传送内容可被允许,而从处于不同操作模式的应用程序传送内容可不被允许。另外,内容从非受管应用程序传送到受管(或部分受管)应用程序可被允许,而内容从受管(或部分受管)应用程序传送到非受管应用程序可不被允许。
在一些示例具体实施中,编配框架可指示目标设备或目标应用程序在启动和促进内容传送之前改变操作模式。例如,如果发起设备处于受管操作模式并且编配框架确定目标设备处于非受管操作模式,则编配框架可将指令提供到目标设备,以指示目标设备将其操作模式改为受管操作模式。编配框架可类似地指示目标应用程序将目标应用程序的操作模式从非受管操作模式改为受管操作模式。
同样如上所述,编配框架可提供虚拟剪切板,其使得计算设备能够通过向虚拟剪切板复制和从虚拟剪切板和粘贴来共享和传送内容。计算设备或应用程序是否访问虚拟剪切板也可取决于计算设备或应用程序的受管操作模式。如果计算设备或应用程序处于非受管模式,例如,则将内容复制到虚拟剪切板中的请求可被拒绝。如此,编配框架(或编配代理)可阻止计算设备或应用程序向虚拟剪切板复制。通过类似的方式,粘贴来自虚拟剪切板内容的请求可被拒绝,来响应计算设备或应用程序处于非受管模式的确定。如此,编配框架(或编配代理)可阻止计算设备或应用程序从虚拟剪切板粘贴。但是,如果计算设备或应用程序处于受管操作模式,则编配框架(或编配代理)可允许计算设备或应用程序将内容复制到虚拟剪切板并粘贴来自虚拟剪切板的内容。在一些示例具体实施中,当进行上述各种确定时,部分受管操作模式可被处理为受管操作模式。
如上文详述的,在第一计算设备处的用户可选择内容(例如,视频)来共享。在选择内容之后,用户可然后选择将内容传送至此的第二计算设备(例如,显示屏)。第一计算设备可然后将传送内容的请求提交到编配框架。该请求可识别待传送的内容以及将内容传送至其的计算设备。如上所述,编配框架可确定内容是否被允许传送到所识别的计算设备,并且启动并促进内容传送来响应传送是允许的确定。
用户可从在第一计算设备处呈现给用户的计算设备列表或应用程序列表中选择目标计算设备或应用程序。在一些示例具体实施中,计算设备或应用程序列表可包括与第一计算设备相关联且可通过第一计算设备访问的每个计算设备和应用程序。在其他示例具体实施中,根据第一计算设备或在第一计算设备处的应用程序的操作模式,计算设备列表或应用程序列表可被动态地确定。例如,编配框架可确定第一计算设备处于受管操作模式,并且通知第一计算设备同样处于受管操作模式的其他计算设备和应用程序。如此,被呈现给用户的可用于选作内容目的地的计算设备和应用程序的列表只包括第一计算设备被允许将内容传送到其的那些计算设备和应用程序。
编配框架还可被配置成开始启动应用程序,所述应用程序能够在目标计算设备处呈现(例如,经由应用程序解析器)内容。编配框架还可向第二计算设备提供指令,以指示第二计算设备配置处于操作模式之一的应用程序。例如,编配框架可接收将内容从第一计算设备传送到第二计算设备的请求,并且确定第一计算设备处于受管操作模式。编配框架可因此在启动并促进内容传送之前,指示第二计算设备将应用程序配置成同样处于受管操作模式。在一些示例具体实施中,编配框架可阻止在第二计算设备处启动应用程序,来响应第一计算设备和第二计算设备处于不同的操作模式的确定。
应当理解,以示例的方式在图33-37中示出的步骤可类似地相对于在计算设备处的应用程序的功能适用。具体地,用户可启动驻留在计算设备处的一个应用程序的计算活动,并且经由编配框架请求计算活动的一部分在另一个计算设备处由另一个应用程序执行。编配框架可基于应用程序的操作模式确定是否要实现请求。编配框架可不实现请求,除非每个应用程序处于相同的操作模式,例如,除非两个应用程序均处于受管操作模式或除非两个应用程序均处于非受管操作模式。在一些示例具体实施中,因此,编配框架可允许第二应用程序执行活动的至少一部分,其中应用程序中的每个处于相同的操作模式。在这些示例具体实施中,当第一应用程序和第二应用程序的相应操作模式不同时,编配框架可不允许、阻止、或以其他方式阻止第二应用程序执行计算活动的至少一部分。
在其他示例具体实施中,编配框架可实现请求并且允许第二应用程序执行计算活动的至少一部分,其中第一应用程序处于非受管操作模式并且第二应用程序处于受管操作模式。编配还可根据第一计算设备和第二计算设备的相应操作模式,确定是否要允许第二应用程序执行计算活动的至少一部分。
另外,编配框架可根据计算设备的操作模式,对相应计算设备处的对应应用程序进行配置。如果第一计算设备包括应用程序并且第二计算设备包括相匹配的应用程序,则编配框架可基于应用程序中的一个的操作模式,或基于计算设备中的一个的操作模式,来启用或禁用应用程序的功能。例如,编配框架可确定第一应用程处于受管操作模式,并且识别在第一应用程序处的启用的功能和禁用的功能。在本例中,编配框架可然后启用和禁用在第二计算设备处的第二应用程序的相同功能。编配框架还可将第二应用程序的操作模式进行设置以匹配第一应用程序的操作模式。另外,编配框架可根据应用程序所驻留的计算设备的操作模式,来启用或禁用应用程序的功能。
为提供特定示例,两个计算设备可经由编配框架互连,并且每个计算设备可包括文档编辑应用程序。在计算设备中的一个处的文档编辑应用程序可处于受管操作模式,并且文档编辑应用程序的保存功能可被禁用。编配框架可因此将在其他计算设备处的其他文档编辑应用程序的操作模式设置为受管操作模式,并且同样禁用其他文档编辑应用程序的保存功能。另外的和可选的示例将被理解。
编配框架可维持管理设备之间的内容传送的管理策略。管理策略可指示例如在其中内容传送被允许或不被允许的背景、应用程序的启动应当或不应被执行等等。
管理动态管理策略和用于连接的设备的编配框架中的设置
除了用于跨设备协调的系统和方法之外,上述说明还描述了设备管理策略以及应用程序管理策略的方面。设备管理和应用程序管理的方面可因此同样应用于计算设备经由编配框架互连的背景,,其中所述编配框架协调跨越互连设备的计算活动的操作。当设备通过编配框架连接时或者当设备以对等方式连接时,设备管理和应用程序管理可被执行。
图38-41示出用于获取管理策略和应用管理策略来管理计算设备之间的交互的示例方法步骤的流程图。具体地,图38是用于获取管理策略和将管理策略分配在互连的计算设备之间的示例方法步骤的流程图3800。图39是用于应用管理策略来确定计算设备是否被允许访问企业资源、与另一计算设备共享该企业资源、和将来自企业资源的内容传送到其他计算设备的示例方法步骤的流程图3900。图40是用于应用管理策略来管理互连的计算设备之间的内容传送的示例方法步骤的流程图4000。图41是用于应用管理策略来确定用户是否被允许经由编配框架连接新的计算设备的示例方法步骤的流程图4100。在图38-41的流程图中示出的步骤在下面进一步详述。应当理解,步骤仅以示例的方式示出,并且在流程图中公开的原理可类似地适用于驻留在计算设备处的应用程序和控制应用程序的操作的管理策略的用途。
一般来讲,编配框架可被配置成连接计算设备并且管理那些计算设备之间的交互,使得跨越互连的计算设备协调计算活动。编配框架可维持并应用管理计算设备之间的交互的管理策略。管理策略可指示在其中允许各种交互的背景和在其中不允许各种交互的背景。具体地,编配框架可应用管理策略,来响应来自第一计算设备的与第二计算设备交互的请求的接收。通过管理策略,编配框架可确定请求的交互是否被允许。如果管理策略指示所请求的交互被允许,则编配框架可同意该请求并且启动并促进交互。但是,如果管理策略指示所请求的交互不被允许,则编配框架可拒绝请求并且阻止或防止计算设备之间的交互。如上所示,交互可包括例如从一个计算设备到第二计算设备的内容传送。编配框架可通过向计算设备提供一个或多个指令,例如,向在计算设备处的相应应用程序解析器或对应的编配代理提供一个或多个指令,来启动和促进交互。
在一些示例具体实施中,管理策略可指示计算设备是否可访问企业资源、与另一个计算设备共享企业资源、或将内容传送到另一个计算设备。如果管理策略指示第一计算设备被允许访问或共享企业资源或将内容传送到另一个计算设备,则编配框架可允许并促进企业资源的访问或共享或者内容的传送。但是,如果管理策略指示第一计算设备不被允许访问或共享企业资源或者传送内容,则编配框架可阻止或以其他方式防止企业资源的访问或共享或者内容的传送。例如,管理策略可允许第一类型的计算设备访问企业资源,但不允许第二类型的计算设备访问企业资源。又如,管理策略可允许计算设备与第一类型的另一个计算设备共享企业资源,但不允许计算设备与第二类型的另一个计算设备共享企业资源。又如,管理策略可允许计算设备将内容传送到第一类型的另一个计算设备,但不允许计算设备将内容传送到第二类型的另一个计算设备。设备类型可取决于例如机器的类型(桌面计算机、笔记本计算机、平板计算机、移动电话等)、在设备处的操作系统(iOS、Android等)、和其他基于设备的标准。
另外,管理策略可基于内容类型来指示内容是否被允许在计算设备之间传送。内容类型可包括例如文档内容类型、图像内容类型、音频内容类型、视频内容类型、和网页内容类型。例如,管理策略可允许计算设备将视频内容传送到大显示屏,并且可以不允许视频内容被传送到移动电话。
此外,管理策略可指示应用程序是否被允许在连接到编配框架的计算设备中的一个处启动(例如,经由使用编配代理之间的客户端-服务器通信会话的云服务器,其中所述编配框架使用对等通信会话)。如果,例如,编配框架接收到将内容从第一计算设备传送到第二计算设备的请求,则编配框架可识别在第二计算设备处的能够呈现内容的应用程序。编配框架可然后确定管理策略是否允许应用程序在第二计算设备处启动。如果管理策略允许应用程序在第二计算设备处启动,则编配框架可开始在第二计算设备处启动应用程序。但是,如果管理策略不允许应用程序在第二计算设备处启动,则编配框架可阻止或以其他方式防止应用程序在第二计算设备处启动。编配框架可通知第一计算设备请求被拒绝,使得第一计算设备可选择将内容传送至此的新的计算设备来(如果期望的话)。
在一些示例具体实施中,管理策略可指示允许或不被允许在计算设备处启动的应用程序的类别。相应地,当管理策略指示第一应用程序类别的应用程序被允许在计算设备处启动时,编配框架可开始启动该第一应用程序类别的应用程序。当管理策略指示第二应用程序类型的应用程序不允许在计算设备处启动时,编配框架还可阻止或以其他方式防止第二应用程序类别的应用程序启动。例如,管理策略可指示能够呈现视频内容的全部应用程序均不允许在计算设备处启动。
同样,在一些示例具体实施中,管理策略可包括应用于全部互连计算设备的规则以及应用于单独计算设备的管理策略。例如,管理策略可指示全部计算设备不允许启动网页浏览器应用程序。又如,管理策略可指示特定的计算设备不允许启动视频应用程序。管理策略可使用与计算设备相关联的唯一标识符(诸如IP地址或MAC地址)来识别计算设备。另外,管理策略的规则可基于与互连计算设备相关联的用户或与用户相关联的用户角色,来指示计算设备是否被允许交互。例如,管理策略可指示与特定用户相关联的全部计算设备均不被允许呈现音频内容。用户角色的示例可包括例如主持人、嘉宾、听众等。管理策略可因此基于用户角色来指示允许的或不允许的交互。又如,管理策略可允许被分配主持人用户角色的用户在互连的设备之间传送内容,但不允许被分配听众用户角色的用户在互连的设备之间传送内容。
如果管理策略指示应用程序不允许在计算设备处启动,则编配框架可被配置成在计算设备处而不是在应用程序启动客户端代理。编配框架还可通过虚拟应用程序启动对客户端代理的配置,所述虚拟应用程序能够呈现被传送的内容。如此,编配框架可促进在计算设备处的内容的传送和呈现,该计算设备不被允许启动本地应用程序以呈现内容。
除此之外或作为另外一种选择,编配框架可试图定位能够呈现内容的并且管理策略允许以呈现内容的计算设备。例如,如果管理策略指示选定计算设备不被允许呈现内容,则编配框架可开始试图定位计算设备,在该计算设备处来代替地显示内容。编配框架可确定替换计算设备是否包括能够呈现内容的应用程序,和管理策略是否允许替换计算设备呈现内容。如果编配框架定位到能够并且允许呈现内容的替换计算设备,则编配框架可开始将内容传送到如上所述的替换计算设备。
编配框架还可提供包括各种控件的管理界面,所述控件允许管理用户创建、修改、和删除管理策略。管理界面的控件还可允许管理用户创建、修改、和删除由编配框架维持的用于各种管理策略的相应规则。管理界面可被实现为例如桌面应用程序、移动应用程序、基于网页的应用程序等。
除了管理设备之间的交互之外,管理策略还可用于管理设备到编配框架的互连或者以对等方式的设备互连。鉴于此,管理策略可指示单个用户可互连的最大数量的设备。如果用户请求将超过设备的最大允许数量的设备互连,则该请求可被拒绝,并且可阻止用户将另外的设备互连。类似地,管理策略可基于设备类型来指示用户是否被允许将设备互连。例如,管理策略可指示用户被允许将平板计算机互连,但不允许将移动电话互连。如上面提到的,管理策略可指示用户被允许执行的交互的类型和用户不被允许执行的交互的类型。例如,管理策略可指示用户是否被允许将内容传送到另一个计算设备和用户是否被允许接收从另一个计算设备传送的内容。管理策略可包括全局适用于全部用户、特定用户角色或组的用户、单独用户、以及上述用户的组合的规则。
管理策略还可配置有与位于共同物理位置处的设备有关的规则。如上所述,在会议期间,一组设备可被互连以帮助进行会议。如上面提到的,编配框架可将在共同会议室位置处的设备互连,并且此类设备可包括例如用于呈现视频内容的电视显示器、用作扬声器并呈现视频内容的移动电话设备、以及用于呈现幻灯片演示的平板计算设备。在本例的背景下,管理策略可包括这样的规则,所述规则指示被确定为在共同物理位置处的计算设备允许交互,而不在共同物理位置处的计算设备不允许交互。管理标准可使用计算设备的位置结合上述其他标准。例如,管理策略可指示即使设备不与连接到编配框架的其他设备位于相同的位置,如果计算设备与特定用户或具有特定用户角色的用户相关联,则计算设备被允许与其他设备交互。通过本公开的益处应当理解,管理策略可包括标准的另外的和可选的置换和组合,所述标准的置换和组合指示设备是否可连接到编配框架、设备是否可与连接到编配框架的其他设备交互、以及设备可如何与那些其他互连的设备交互。
在用于连接的设备的编配框架中控制设备对企业资源的访问
用于管理在计算设备处的数据仓库和存储在那些数据仓库中的内容的系统和方法结合用于跨设备协调的系统和方法描述。因此应当理解,数据仓库和内容管理的方面同样应用于其中计算设备经由编配框架通过云服务器或以对等方式互连的情况。编配框架可协调跨越互连计算设备的计算活动的操作,使得计算设备各自执行计算活动的至少一部分。具体地,当从第一计算设备(发起计算设备)向第二计算设备(目标计算设备)传送内容时,可应用数据仓库管理的方面。另外,内容管理的方面可应用于选择性地擦除已在设备之间传送的内容。如此,企业可控制在协调的设备之间共享的敏感内容。
图42-45示出用于管理将内容存储在互连计算设备的数据仓库处的示例方法步骤的流程图。具体地,图42-43是用于基于在计算设备处的存储内容的数据仓库的数据仓库类型而在计算设备之间传送内容的示例方法步骤的流程图4200和4300。图44是用于执行指令以擦除相应地存储在互连计算设备处的内容的示例方法步骤的流程图4400。图45是用于基于在计算设备处的数据仓库的相应数据仓库类型,来识别可用于选作目标计算设备的计算设备组的示例方法步骤的流程图。在图42-45的流程图中示出的各种步骤在下面进一步详述。还应当理解,步骤仅以示例的方式示出,并且在流程图中公开的原理可类似地适用于驻留在计算设备处的并且管理在应用程序之间传送的内容的存储的应用程序。
一般来讲,编配框架可接收从发起设备向目标设备传送内容的请求。编配框架可识别存储发起计算设备处的内容的数据仓库。如上所述,数据仓库可为加密的或非加密的,并且因此被分别称作加密数据仓库或非加密数据仓库。
编配框架可因此当内容被传送到目标计算设备时,指示目标设备应当如何将内容存储在目标计算设备处。例如,企业可要求在发起计算设备处的敏感数据存储在加密数据仓库处。相应地,如果编配框架确定待传送数据存储在加密数据存储区处,则编配框架可指示目标计算设备同样将传送的内容存储在目标计算设备处的加密数据存储区中。如果编配框架确定发起计算设备将传送的数据存储在非加密数据仓库中,则编配框架可指示目标计算设备同样将内容存储在非加密计算设备中。应当理解,发起计算设备可将内容存储在非加密数据仓库中,因为所述内容已被指定为敏感内容。相应地,在一些示例具体实施中,目标计算设备可选择将内容存储在加密数据仓库中或非加密数据仓库中。
在将内容传送到目标计算设备之前,发起计算设备可使用如上所述的加密密钥将内容加密。发起计算设备还可将加密密钥提供给目标计算设备,使得目标计算设备可将传送的内容解密。
在一些示例具体实施中,编配框架可接收以将内容从发起计算设备传送到目标计算设备的请求。为响应请求的接收,编配框架可确定目标计算设备是否包括第二计算设备可将内容存储在其中的合适的数据仓库。例如,如果发起计算设备将内容存储在加密数据存储区中,则编配框架可确定目标计算设备是否同样包括加密数据存储区。在本例中,如果编配框架确定目标计算设备包括加密数据存储区,则编配框架可启动并促进将内容从发起计算设备传送到目标计算设备。编配框架可通过向计算设备提供一个或多个指令,来启动并促进内容的传送。
但是,在本例中,如果编配框架确定目标计算设备不包括加密数据仓库,则编配框架可阻止或以其他方式防止内容从编配计算设备传送到目标计算设备。在一些示例具体实施中,编配框架可被配置成定位替换计算设备以接收待传送的内容,来响应确定目标计算设备不包括存储内容的加密数据仓库。在本例中,编配框架可定位不包括加密数据存储区的计算设备,并且选择替换计算设备来接收内容。编配框架可因此启动并促进将内容从发起计算设备传送到被选择以接收内容的替换计算设备。
如上所述,云服务和编配代理可有利地提供跨设备协调,其中敏感数据在计算设备之间传送。但是,企业可期望控制存储敏感内容的各种计算设备。因此,云服务(或编配代理)可向接收内容的任何计算设备发布指令,以指示那些计算设备删除内容。如上所述,此类指令可被称为选择性擦除指令。为响应指令的接收,计算设备可删除存储在其数据仓库处的内容的至少一部分。指令可为通用擦除指令,使得计算设备同时删除非加密数据仓库中的内容和加密数据仓库中的内容。指令可相对更具有针对性,指示只有加密数据仓库中的内容应当被删除。如果计算设备包括多个加密数据仓库,则指令可识别应当从其中删除内容的特定数据仓库。在一些示例具体实施中,指令可为存储在数据仓库处的目标特定内容,使得计算设备只从数据仓库中删除在指令中识别的内容。另外,指令可指示计算设备删除存储在数据存储区中的全部内容或存储在数据存储区中的内容的仅一部分。
应当理解,当内容在发起计算设备和目标计算设备之间传送时,各种计算设备(例如,云数据存储提供者)可存储内容。相应地,编配框架可被配置成沿着发起计算设备与目标计算设备之间的路径向每个计算设备提供擦除指令,使得传送的内容可被从可存储内容的每个潜在计算设备中擦除。
如上所述,在计算设备处的用户可选择存储在加密数据仓库中的内容以传送到另一个计算设备。在一些示例具体实施中,编配框架可识别同样包括加密数据仓库的计算设备的组,并且向计算设备提供那些计算设备的列表。列表可因此包括可用于选作目标计算设备的一个或多个计算设备,因为所列出的计算设备包括加密数据仓库来存储所传送的内容。对应地,列表可排除不具有以存储所传送的内容的加密数据存储器的任何计算设备。如此,编配框架可根据在那些计算设备处的数据仓库的类型,来控制哪些计算设备可用于选择以将对其传送数据。用户可因此选择列表中的计算设备中的一个,并且编配框架可启动并促进将内容传送到选定计算设备。
在一些示例具体实施中,计算设备可包括彼此分离且不同的多个数据存储区。例如,计算设备可包括数据仓库,该数据仓库是与计算设备的其他数据存储区物理隔离的专用存储区域。更具体地,计算设备可包括只读主要数据存储区和随机存取存储器以用于执行典型的计算操作。在本例中,计算设备还可包括与主要数据存储区物理分离且不同的数据仓库,以允许对计算设备、计算设备处的应用程序、和驻留在计算设备处的任何敏感或机密资源的安全管理。
在用于连接的设备的编配框架中的单一登录访问
在上面与用于跨设备协调的系统和方法一起描述的是用于验证计算设备的系统和方法。如上所述,计算设备可请求验证以访问企业资源。如果计算设备被成功验证,则计算设备可被提供允许该计算设备访问并使用企业资源的访问凭证。在跨设备协调的背景下,访问凭证可被提供给经由编配框架互连的多个计算设备,使得互连的计算设备在执行计算活动的至少一部分时也可访问企业资源。
图46-47示出用于获取用于互连计算设备的SSO凭证以便使得计算设备能够访问企业资源的示例方法步骤的流程图。具体地,图46-47是用于获取用于互连计算设备的SSO凭证的示例方法步骤的相应流程图4600和4700。在图46-47的流程图中示出的各种步骤在下面进一步详述。也应当理解,步骤仅以示例的方式示出,并且在流程图中公开的原理可以类似地适用于驻留在计算设备处的应用程序和获取用于应用程序的SSO凭证的应用程序,使得应用程序能够访问企业资源。
一般来讲,多个计算设备可通过编配框架以客户端-服务器的方式通过编配代理在与云服务器通信的计算设备处互连,或者以对等的方式通过相应的编配代理在相互通信的计算设备处互连。多个互连的计算设备可彼此相关联(例如,通过与共同用户的关联)。互连的计算设备可彼此交互(例如,以交换内容)。代理可被配置成对计算设备进行验证,并向计算设备提供单一登录(SSO)凭证以访问企业资源。
计算设备可向代理提交访问企业资源的请求。资源管理器可管理对一个或多个企业资源的访问。代理可因此代表计算设备请求来自资源管理器的访问凭证,以便获取用于如上所述的计算设备的访问凭证。为响应请求的接收,代理可启动对计算设备的验证,以确定计算设备是否被允许访问企业资源。当成功验证时,代理可向计算设备(验证的计算设备)提供从资源管理器接收的SSO凭证。计算设备可因此使用SSO凭证访问企业资源。代理可请求并且计算设备可提供唯一标识符,其中SSO凭证基于该唯一标识符。如上所述,唯一标识符可为例如计算设备的签名,并且SSO凭证可为例如会话密钥。
在跨设备协调背景中,用户可期望互连计算设备中的每一个也访问企业资源。因此,在计算设备被验证并被允许访问企业资源之后,可自动使得一个或多个另外的计算设备也访问企业资源。在一些示例具体实施中,SSO凭证可被提给计算设备中的另一个,从而使得其他计算设备能够使用SSO凭证访问企业资源。SSO凭证可被提供给与验证的计算设备相关联的计算设备中的一个、一些或全部。如此,一个计算设备可被验证并允许访问子夜资源,并且与该计算设备相关联的计算设备可被自动提供用于访问企业资源的访问凭证。编配框架可启动将SSO凭证传送到计算设备。在其他示例具体实施中,可通过获得用于每个将被允许访问企业资源的计算设备的单独SSO凭证,使得另外的计算设备能够访问企业资源。另外,计算设备自身可使用SSO凭证访问企业资源,或者代理可代理计算设备使用SSO凭证访问企业资源。
例如,第一计算设备(发起计算设备)可将内容传送到第二计算设备(目标计算设备)。如上所述,发起计算设备可将内容存储在文件存储服务处,并且向目标计算设备发出一个通知,所述通知为内容可从文件存储服务使用。当接收到通知时,目标计算设备可从文件存储服务检索内容。在本例中,发起计算设备可接收使得发起计算设备能够访问文件存储服务的SSO凭证。发起计算设备可因此使用SSO凭证访问文件存储服务,从而存储内容以传送给目标计算设备。SSO凭证可然后被提供到目标计算设备,并且目标计算设备可使用SSO凭证来访问文件存储服务并且检索所传送的内容。
计算设备可基于SSO凭证建立一个或多个用户设置。当与另一个计算设备共享SSO凭证时,一个或多个匹配的用户设置也可在其他计算设备处建立。如此,互连的计算设备可类似地被配置用于使用SSO凭证访问企业资源。通过类似的方式,可基于SSO凭证对在计算设备处的应用程序的配置设置进行设置。SSO凭证可因此被提供到计算设备中的另一个,使得对应的应用程序可基于SSO凭证被配置成具有匹配的设置。另外,编配框架可维持识别计算设备的列表。编配框架还可维持识别与连接到编配框架的计算设备相关联的相应登录凭证的列表。此外,编配框架可基于SSO凭证对计算设备或在计算设备处的应用程序应用一个或多个管理策略。在一些示例具体实施中,编配框架可基于与SSO相关联的用户角色选择管理策略进行应用。
还如上所述,发起计算设备可启动将内容传送到目标计算设备。但是,在一些情况下,目标计算设备可以不包括能够呈现计算资源的应用程序。为响应目标计算设备不包括能够呈现所传送的内容的应用程序的确定,可以在目标计算设备处启动客户端代理。客户端代理也可配置有能够呈现计算设备的虚拟应用程序。为使得客户端代理或虚拟应用程序能够访问企业资源,可将SSO凭证提供到在目标计算设备处的客户端代理。
编配框架还可用于确保SSO凭证在运行于相应计算设备处的对应应用程序之间的一致性。例如,SSO凭证可周期性地超时,并且用户可重新登录以获得新的SSO凭证。当在重新登录之后接收到新的SSO凭证时,编配框架可向其他互连的计算设备和在那些计算设备处的应用程序广播新的SSO凭证。如此,在一个计算设备处接收的新SSO凭证可自动保持一致,并且可用于相关联的计算设备和应用程序,以便以无缝的方式持续协调计算活动。
在用于连接的设备的编配框架中的用于安全数据共享的应用程序管理框架
除了用于对在计算设备处的应用程序应用管理策略和在那些应用程序之间传送数据的系统和方法,还描述了用于互连计算设备之间的跨设备协调的系统和方法。因此应当理解,管理策略配置和进程间通信(inter-process communication)的方面可在跨设备协调的背景下应用。具体地,管理策略可被分别应用于计算设备,其中所述计算设备经由编配框架互连,所述编配框架协调跨越互连计算设备的计算活动的操作。
图48-50示出用于使用策略代理和管理策略来管理互连计算设备的操作的示例方法步骤的流程图。具体地,图48-49是用于向互连计算设备提供管理策略的示例方法步骤的相应流程图4800和4900。图50是用于将内容从服从于管理策略的一个计算设备传送到服从于管理策略的另一个计算设备的示例方法步骤的流程图5000。在图48-50的流程图中示出的各种步骤在下面进一步详述。还应当理解,步骤仅以示例的方式示出,并且在流程图中公开的原理可类似地适用于驻留在计算设备处和使用策略代理和管理策略来管理服从于策略代理的应用程序的操作的应用程序。
编配框架可将一个或多个计算设备互连,并且促进如上所述那些计算设备之间的交互。另外,计算设备组可以对等方式互连,其中编配框架促进计算设备之间的交互。在计算设备处的策略代理可与策略管理器进行信号通信。在一些示例具体实施中,策略管理器可与策略代理远程定位(例如,在编配框架处)。策略代理可使用从策略管理器接收的管理策略来控制驻留在计算设备处的各种应用程序的操作和功能。如上面详细描述的,策略代理可为对在计算设备处的应用程序进行包装的应用程序包装器。因此,计算设备可包括多个策略代理(如在计算设备处的应用程序的相应应用程序包装程序)。在其他示例具体实施中,策略代理可为驻留在计算设备处的与应用程序不同的管理策略实施代理。当应用程序服从于控制应用程序的操作的策略代理时,应用程序可称作受管应用程序。如果应用程序不服从于策略代理,则应用程序可称作非受管应用程序。
策略管理器可向互连的计算设备提供一个或多个管理策略。在计算设备处的策略代理可因此应用管理策略来允许应用程序执行各种功能或者阻止应用程序执行功能。管理策略可为应用于全部的互连计算设备或应用程序的全局管理策略,或为应用于如上所述的单独计算设备或应用程序的全局管理策略。编配框架可提供管理策略配置界面,其提供允许管理用户添加、修改、或删除管理策略信息的控件。例如,管理用户可使用更新的管理策略信息创建新的管理策略或修改现有的管理策略。
在跨设备协调的背景下,可期望互连的计算设备相对于相同的管理策略操作。例如,可期望与用户相关联的每个计算设备根据被配置用于用户的用户角色的共用管理策略进行操作。因此,计算设备的策略代理可请求来自策略管理器的管理策略,并且当管理策略可用时,策略管理器可对计算设备提供所请求的管理策略。如果所请求的管理策略不可用,则策略管理器可通知计算设备所请求的管理策略不可用。
在一些示例具体实施中,策略代理可请求关于其是否具有最新管理策略的指示,换言之,策略管理器是否包括更新的管理策略信息,例如,新的或更新的管理策略。如果策略管理器不包括更新的管理策略信息,则策略代理可从策略管理器请求更新管理策略信息。如上面提到的,策略管理器可向在计算设备处的策略代理提供更新管理策略信息,来响应在策略管理器处接收到来自策略代理的请求。然而,在一些示例具体实施中,策略管理器可向策略代理推送更新的管理策略信息,来响应在策略管理器处接收到更新的管理策略信息。如此,在计算设备处的策略代理可接收管理策略,而无需从策略管理器请求它们。
策略代理可监控在计算设备处的应用程序并且请求管理策略,来响应应用程序已在计算设备处启动的确定。当更新的管理策略信息从如上所述的策略管理器可用时,策略代理可请求并接收所述信息。如此,在应用程序被允许操作以例如访问企业资源之前,策略代理可确保其具有最新的管理策略。
为一致地对与用户相关联的计算设备应用管理策略,所请求的管理策略也可被提供到与用户相关联的互连计算设备中的一个或多个。相应地,响应于针对管理策略的请求的接收,管理策略可识别与请求管理策略的计算设备相关联的计算设备。策略管理器可然后启动将所请求的管理策略传送到与请求管理策略的计算设备相关联的计算设备中的至少一个。
在计算设备处的策略代理可因此应用管理策略来管理互连计算设备之间的交互。例如,策略代理可管理在第一计算设备处的一个应用程序与在另一个计算设备处的第二应用程序之间的交互。策略代理也可应用管理策略来管理在相同计算设备处的应用程序之间的通信。
如上所述,互连的计算设备可交换内容,使得驻留在一个计算设备(发起计算设备)处的内容可被提供到第二计算设备(目标计算设备)。目标计算设备可因此在第二计算设备处的应用程序处呈现所传送的内容。因此,编配框架可从发起计算设备接收请求,以在目标设备处的应用程序处呈现内容。策略代理可因此确定在目标计算设备处的应用程序是否服从于策略代理。如果在目标设备处的应用程序不服从于策略代理(例如,如果应用程序为非受管应用程序),则策略代理可阻止或以其他方式防止发起计算设备将内容传送到目标计算设备。但是,如果在目标计算设备处的应用程序服从于策略代理(例如,如果应用程序为受管应用程序),则编配框架可启动并促进将内容传送到目标应用程序。如此,企业可确保内容只在设备和包括策略代理的应用程序之间传送,以便控制该内容的使用。
在一些示例具体实施中,编配框架可试图定位在目标计算设备处的服从于策略代理的另一个应用程序。如果服从于策略代理的另一个应用程序位于目标计算设备处,则可启动将内容传送到该应用程序。在其他示例具体实施中,编配框架可试图定位在与发起计算设备相关联的不同计算设备处的另一个应用程序。如果定位到包括服从于策略管理的应用程序的不同计算设备,则该计算设备可被选为目标设备以将所传送的内容发送至此。
如果目标计算设备不包括能够呈现所传送的内容并且服从于策略代理的应用程序,则可在目标设备处启动服从于策略代理的客户端代理。客户端代理可因此被配置有能够呈现所传送的内容的虚拟应用程序,并且所传送的内容可被提供到虚拟应用程序以便呈现。
如上所述,用户可选择在计算设备处的待呈现在连接到该计算设备的另一个计算设备处的内容。当选择内容以传送时,列出可用于选作目标计算设备的计算设备的列表可被显示。用户可然后选择列表中计算设备中的一个,并且内容可被传送到选定计算设备以便呈现。在一些示例具体实施中,编配框架可识别在连接的计算设备处的服从于策略代理的应用程序,和在连接的计算设备处的不服从于策略代理的应用程序。编配框架可因此向发起计算设备指示,在连接的计算设备处的服从于和不服从策略代理的应用程序。因此,可用于选作目标计算设备的计算设备的列表可包括服从于策略代理的计算设备,并且排除不服从策略代理的计算设备。如此,在一些示例中,计算设备列表可只包括显示计算设备,该显示计算设备包括能够呈现选定内容并且服从于策略代理的应用程序。
用于连接的设备的编配框架的企业应用商店
用于向计算设备递送应用程序的企业应用商店也在上文描述。企业应用商店的方面可在跨设备协调的背景下应用。具体地,编配框架可使多个计算设备互连,使得编配框架协调跨越计算设备的计算活动。计算设备也可连接到向互连计算设备递送应用程序的企业应用商店,以便使得计算设备能够执行计算活动的至少一部分。互连的计算设备可与共同用户相关联。
图51-52示出用于协调跨越计算设备的计算活动的示例方法步骤的流程图,其中所述计算设备经由编配框架互连并且连接到应用商店。具体地,图51是用于协调在通过编配框架互连的多个计算设备处的计算活动的操作的示例方法步骤的流程图5100。图52是用于选择互连计算设备来执行计算活动的至少一部分的示例方法步骤的流程图。另外,企业应用商店可用于向互连计算设备递送应用程序,以便对那些计算设备配备应用程序来执行计算活动的至少一部分。还应当理解,步骤仅以示例的方式示出,并且在流程图中公开的原理可类似地适用于经由编配框架使用客户端-服务器通信会话或对等通信会话互连的计算设备。
企业应用商店可向经由如上面提到的编配框架互连的计算设备递送应用程序。用户可从一个计算设备访问应用商店,并且选择待下载到该计算设备的应用程序或与该计算设备相关联且经由编配框架与该计算设备互连的另一个计算设备。编配框架也可自动识别应用程序并将应用程序提供到计算设备,以便使得那些计算设备能够执行协调的计算活动的至少一部分。应当理解,在向计算设备递送应用程序之间,虚拟工作空间也可将应用程序准备为受管应用程序。企业应用商店也可向互连计算设备递送管理策略,以管理计算设备的操作和在那些计算设备处的受管应用程序的操作。例如,如果向目标计算设备提供的应用程序是非受管应用程序,则企业应用商店可将非受管应用程序修改为包括如上所述的策略代理,使得非受管应用程序变成受管应用程序。在目标计算设备处的受管应用程序操作期间,策略代理可因此实施一个或多个管理策略。
如上面提到的,应用商店可自动向互连的计算设备提供应用程序,以便协调跨越计算设备的计算活动的操作。当计算设备(发起计算设备)提交请求以执行在另一个计算设备(目标计算设备)处的计算活动的至少一部分时,编配框架可确定目标计算设备是否包括能够执行计算活动的应用程序。如果目标计算设备不包括能够执行计算活动的应用程序,则应用商店可识别从应用商店可用的能够执行计算活动的应用程序,并且启动将应用程序下载到目标计算设备。目标计算设备可因此利用所接收的应用程序来执行计算活动的至少一部分。
在一个示例中,用户可在演示期间经由编配框架使得平板计算机、电视显示器设备、和移动电话互连。用户可期望获得演示的音频记录,并且可期望使用移动电话上的麦克风来记录音频。用户可从平板计算机经由编配框架提交请求,以使用移动电话来记录音频。但是移动电话可不包括音频记录应用程序。因此,编配框架可查询企业应用商店以确定移动电话应用程序,所述移动电话应用程序能够记录音频并且被允许在移动电话处接收和启动。编配框架可因此开始从应用商店将音频记录应用程序下载到移动电话。在一些情况下,企业应用商店可将音频记录应用程序准备为受管应用程序,并且将管理策略与应用程序一起提供给移动电话。在接收到音频记录应用程序之后,移动电话可记录用于用户的演示,例如,当演示结束时,经由编配框架将音频记录传送到平板计算机。管理策略也可指示当演示结束时音频记录应用程序被从移动电话删除,并且应用商店可追踪哪个应用程序被提供给哪个计算设备。因此,编配框架可通过管理策略和上述选择性擦除功能,确保由应用商店自动提供的应用程序未驻留在目标计算设备处比执行期望的计算活动所需的时间更久。
企业应用商店还被可配置成基于计算设备的类型或者附加地或可选地基于计算设备的能力,推荐应用程序递送到计算设备。例如,如果计算设备能够呈现视频内容(例如,包括视频输出设备),则应用商店可推荐视频输出应用程序向计算设备递送。又如,如果计算设备能够呈现音频内容(例如,包括音频输出设备),则应用商店可推荐音频输出应用程序向计算设备递送。又如,如果计算设备能够编辑文档(例如,包括键盘输入设备),则应用商店可推荐文档编辑应用程序向计算设备递送。应当理解另外的和可选的推荐。
在向目标计算设备提供应用程序之前,编配框架可确定目标计算设备是否被允许执行计算活动或接收能够执行计算活动的应用程序。编配框架可基于由应用商店维持的一个或多个管理策略做出确定。管理策略可基于计算设备的类型或与计算设备相关联的用户(例如,与用户相关联的用户角色),指示计算设备是否被允许执行计算活动或接收应用程序。如果管理策略指示计算设备被允许接收应用程序并且被允许执行计算活动的至少一部分,则编配框架可启动将应用程序下载到目标计算设备。但是,如果目标计算设备不被允许接收应用程序或者不被允许执行计算活动的至少一部分,则编配框架可不启动(阻止或以其他方式防止)将应用程序下载到目标计算设备。
编配框架也可动态地确定进行呈现的计算设备的组,作为可用于选作目标计算设备的列表。编配框架可基于潜在目标计算设备的能力,或者除此之外或作为另外一种选择,基于指示潜在目标计算设备是否被允许执行计算活动的至少一部分的管理策略,对列表进行配置。在一个示例中,可用于选作目标计算设备的计算设备的列表可包括能够执行计算活动的至少一部分的计算设备,并且排除不能执行计算活动的至少一部分的计算设备。在另一个示例中,可用于选作目标计算设备的计算设备的列表可包括被允许接收能够执行计算活动的至少一部分的应用程序的计算设备,并且排除不被允许接收这样的应用程序的任何计算设备。在另一个示例中,可用于选作目标计算设备的计算设备的列表可包括被允许执行计算活动的至少一部分的计算设备,并且排除不被允许执行计算活动的至少一部分的任何计算设备。
在一些示例情况中,目标计算设备可不包括能够执行计算活动的至少一部分的应用程序,并且可不被允许接收能够执行计算活动的应用程序。在本例中,编配框架可启动从企业应用商店将客户端代理下载到目标计算设备。客户端代理可被配置具有能够执行计算活动的至少一部分的虚拟应用程序。如此,编配框架可因此协调在目标计算设备处的计算活动的至少一部分的操作。
计算设备也可经由编配框架互连到虚拟工作空间。虚拟工作空间可允许用户访问、管理、和利用各种类型的工作空间内容,其可包括任务组、消息、联系人、事件、计算机文件、应用程序、日历、和其他类型的工作空间内容。企业应用商店也可用于向计算设备提供能够呈现选自从虚拟工作空间选择的内容的应用程序。例如,用户可选择工作空间内容以在计算设备处查看。但是,计算设备可以不包括能够呈现选定工作空间内容以查看的应用程序。因此,编配框架可启动将能够呈现选定工作空间内容的应用程序从应用商店下载到计算设备,使得计算设备可查看选定工作空间内容。
在一些示例具体实施中,编配框架可自动确定将哪个应用程序下载到计算设备。例如,工作空间内容可与工作空间内容类型相关联。虚拟工作空间可维持工作空间内容类型与能够呈现该工作空间内容类型的工作空间内容的应用程序之间的关联的列表。除此之外或作为另外一种选择,虚拟工作空间可维持工作空间内容类型与能够呈现该工作空间内容类型的工作空间内容的计算设备之间的关联的列表。所述关联可为可适用于跨越虚拟工作空间的工作空间内容的通用关联。关联可另外或者可选地为用户特定的,使得每个用户可定义哪个应用程序或计算设备应当自动被选择以呈现工作空间内容。因此,虚拟工作空间可提供一个或多个控制,所述控制允许用户建立或修改工作空间内容类型、互连的计算设备、和应用程序之间的关联。例如,当用户选择视频内容来呈现时,用户可指定连接到编配框架的电视显示器设备应当呈现视频内容。又如,当用户选择基于网页的内容来呈现时,用户可指定连接到编配框架的平板计算设备应当呈现基于网页的内容(例如,网页页面)。另外,当工作空间内容的类型与特定的应用程序相关联时,编配框架可自动定位包括该应用程序的计算设备,并且选择该计算设备来呈现该类型的工作空间内容。
在一些情况下,编配框架可确定没有一个互连的计算设备能够呈现工作空间内容。为响应,虚拟客户端可在计算设备中的一个处启动并且被配置成包括能够呈现选定工作空间内容的虚拟应用程序。在启动客户端代理并且对客户端代理配置虚拟应用程序之后,选定工作空间内容可被提供到在客户端代理处的虚拟应用程序以便呈现。
示例性实施例
鉴于上述说明,提供下面的示例性实施例。
第一组示例性实施例可涉及在用于连接的设备的编配框架中,跨越具有多个操作模式的应用程序和设备共享内容。
在一个实施例中,方法包括通过编配框架使数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;接收请求,所述请求为将内容从在数个计算设备中的第一计算设备处的第一应用程序传送到在数个计算设备中的第二计算设备处的第二应用程序;至少部分根据第一应用程序的第一操作模式和第二应用程序的第二操作模式,确定是否要开始传送内容;以及响应于确定第一操作模式与第二操作模式相同,开始将内容从第一应用程序传送到第二应用程序。在本示例实施例中,第一操作模式和第二操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个。
在实施例中,方法还包括:响应于确定第一操作模式是非受管操作模式并且第二操作模式是受管操作模式,开始内容的传送;以及响应于确定第一操作模式是受管操作模式并且第二操作模式是非受管操作模式,阻止内容的传送。
在实施例中,方法还包括响应于确定第一操作模式与第二操作模式不同,阻止内容从第一应用程序传送到第二应用程序。
在实施例中,方法还包括:确定第一操作模式是受管操作模式并且第二操作模式是非受管操作模式;指示第二应用程序将第二操作模式改变为受管操作模式;以及在第二应用程序将第二操作模式改变为受管操作模式之后,开始内容的传送。
在实施例中,方法还包括:接收来自第一应用程序的请求,所述请求为将内容复制到虚拟剪切板;基于第一应用程序的第一操作模式,确定是否要开始将内容复制到虚拟剪切板;响应于确定第一操作模式是受管操作模式,开始将内容复制到虚拟剪切板;以及响应于确定第一操作模式是非受管操作模式,阻止将内容复制到虚拟剪切板。
在实施例中,方法还包括:接收来自第二应用程序的请求,所述请求为粘贴来自虚拟剪切板的内容;基于第二应用程序,确定是否要粘贴来自虚拟剪切板的内容;响应于确定第二操作模式是受管操作模式,开始粘贴来自虚拟剪切板的内容;以及响应于确定第二操作模式是非受管操作模式,阻止粘贴来自虚拟剪切板的内容。
在实施例中,方法还包括:识别在第二计算设备处的一个或多个应用程序,其中一个或多个应用程序的相应的操作模式匹配在第一计算设备处的第一应用程序的第一操作模式;以及通知第一计算设备的第一应用程序,一个或多个应用程序可用于被选为内容的目标。
在另一个示例中,一种装置,包括:至少一个处理器;存储计算机可读指令的存储器,其中计算机可读指令在被至少一个处理器执行时使得装置通过编配框架将数个计算设备互连,其中编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,接收请求,所述请求为将内容从数个计算设备中的第一计算设备传送到数个计算设备中的第二计算设备;至少部分根据第一计算设备的第一操作模式和第二计算设备的第二操作模式,确定是否要开始启动能够在第二计算设备处呈现内容的应用程序;以及响应于确定第一操作模式与第二操作模式相同,开始在第二计算设备处启动应用程序。在该示例实施例中,第一操作模式和第二操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个。
在实施例中,指令在被至少一个处理器执行时,还使得装置:确定第一计算设备的第一操作模式是受管操作模式;以及在第二计算设备处启动应用程序之后,将应用程序的操作模式设为受管操作模式。
在实施例中,指令在被至少一个处理器执行时,还使得装置阻止在第二计算设备处启动应用程序,来响应确定第一操作模式与第二操作模式不同。
在实施例中,指令在被至少一个处理器执行时还使得装置:在确定是否要开始启动应用程序时,应用管理策略。在该示例实施例中,对于是否要开始启动应用程序的确定是至少部分基于第一计算设备和第二计算设备的相应操作模式。
在实施例中,管理策略允许当第一计算设备的第一操作模式与第二计算设备的第二操作模式相同时,启动应用程序;管理策略允许当第一计算设备的第一操作模式是非受管操作模式并且第二计算设备的第二操作模式是受管操作模式时,启动应用程序;以及管理策略不允许当第一计算设备的第一操作模式是受管操作模式并且第二计算设备的第二操作模式是非受管操作模式时,启动应用程序。
在实施例中,指令在被至少一个处理器执行时使得装置:应用第一管理策略,以便基于第一计算设备的第一操作模式,确定第一计算设备是否被允许向虚拟剪切板复制;以及应用第二管理策略,以便基于第二计算设备的第二操作模式,确定第二计算设备是否被允许从虚拟剪切板粘贴。
在另一个实施例中,一种或多种存储指令的非临时性计算机可读介质,其中指令在被执行时使得计算设备:通过编配框架连接到一个或多个计算设备,其中编配框架协调跨越计算设备和一个或多个计算设备的计算活动的操作;接收选定内容的指示,以便传送到一个或多个计算设备中的选定计算设备;显示可用于被选为选定计算设备的计算设备的列表,其中计算设备列表基于计算设备的操作模式,并且操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个;以及开始经由编配框架将选定内容传送到选定计算设备。
在实施例中,计算设备列表包括具有与计算设备的操作模式相同的操作模式的至少一个可选择的计算设备;以及计算设备列表排除具有与计算设备的操作模式不同的操作模式的任何计算设备。
在实施例中,计算设备的操作模式为受管操作模式;以及计算设备列表包括具有操作模式为受管操作模式的至少一个可选择的计算设备。
在实施例中,计算设备的操作模式为非受管操作模式;以及计算设备列表包括具有操作模式为受管操作模式或非受管操作模式的至少一个可选择的计算设备。
在实施例中,指令在被执行时还使得计算设备:启动应用程序来响应经由编配框架接收到指令,其中指令指示用于应用程序的期望操作模式;将应用程序的操作模式设为期望操作模式;以及经由编配框架提供通知,所述通知指示应用程序已按照期望操作模式启动。
在实施例中,指令在被执行时还使得计算设备:经由编配框架接收所传送的内容来响应通知的接收,其中通知指示应用程序已按照期望操作模式启动;以及使用应用程序呈现所传送的内容。
在实施例中,编配框架被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合中的至少一个,使计算设备和一个或多个计算设备互连。
第二组示例性实施例可涉及在用于连接的设备的编配框架中,协调跨越具有多个操作模式的应用程序和设备计算活动。
在一个实施例中,方法包括通过编配框架使数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;在数个计算设备中的第一计算设备处发起计算活动;接收来自第一计算设备的请求,所述请求为在数个计算设备中的第二计算设备处执行活动的至少一部分;至少部分根据第一计算设备的第一操作模式和第二计算设备的第二操作模式,确定是否要指示第二计算设备执行计算活动的至少一部分;以及响应于确定第一操作模式与第二操作模式相同,通过编配框架指示第二计算设备执行计算活动的至少一部分。在本示例实施例中,第一操作模式和第二操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个。
在实施例中,方法还包括:响应于确定第一操作模式是非受管操作模式并且第二操作模式是受管操作模式,通过编配框架指示第二计算设备执行计算活动的至少一部分;以及响应于确定第一操作模式是受管操作模式并且第二操作模式是非受管操作模式,不向第二计算设备提供指令。
在实施例中,方法还包括:确定第一操作模式是受管操作模式并且第二操作模式是非受管操作模式;以及通过编配框架指示第二计算设备将第二操作模式改为受管操作模式。在该示例实施例中,在第二计算设备将第二操作模式改为受管操作模式之后,第二计算设备被指示执行计算活动的至少一部分。
在实施例中,方法还包括在第二计算设备处识别能够执行计算活动的至少一部分的应用程序;确定应用程序处于非受管操作模式;以及经由编配框架指示应用程序改变成受管操作模式。在该示例实施例中,在应用程序改变成受管操作模式之后,第二计算设备被指示使用应用程序执行计算活动的至少一部分。
在实施例中,在第二计算设备处执行的计算活动的部分包括与计算活动相关联的内容的呈现。
在实施例中,在第二计算设备处执行的计算活动的部分包括与计算活动相关联的输入的接收。
在另一个实施例中,一种装置,包括:至少一个处理器;存储计算机可读指令的存储器,其中计算机可读指令在被至少一个处理器执行时使得装置通过编配框架将数个计算设备互连,其中编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,接收请求,所述请求为在数个计算设备中的第二计算设备处,执行在数个计算设备中的第一计算设备处发起的计算活动的至少一部分;至少部分根据第一计算设备的第一操作模式和第二计算设备的第二操作模式,确定是否要指示第二计算设备执行计算活动的至少一部分;以及响应于确定第一操作模式与第二操作模式相同,通过编配框架指示第二计算设备执行计算活动的至少一部分。在本示例实施例中,第一操作模式和第二操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个。
在实施例中,指令在被至少一个处理器执行时,还使得装置:确定第一计算设备的第一操作模式是受管操作模式;确定第二计算设备的第二操作模式是非受管操作模式;以及在所述计算活动的部分在第二计算设备处执行之前,指示第二计算设备将第二操作模式改为受管操作模式。
在实施例中,指令在被至少一个处理器执行时,还使得装置阻止计算活动的部分由第二计算设备执行,来响应第一操作模式与第二操作模式不同的确定。
实施例中,指令在被至少一个处理器执行时,还使得装置在确定是否要指示第二计算设备执行计算活动的至少一部分时,应用管理策略。在该示例实施例中,关于是否要指示第二计算设备执行计算活动的至少一部分的确定是至少部分基于第一计算设备和第二计算设备的相应操作模式。
实施例中,管理策略允许当第一计算设备的第一操作模式与第二计算设备的第二操作模式相同时,第二计算设备执行计算活动的至少一部分。在该示例实施例中,管理策略还允许当第一计算设备的第一操作模式是非受管操作模式并且第二计算设备的第二操作模式是受管操作模式时,第二计算设备执行计算活动的至少一部分。在该示例实施例中,管理策略不允许当第一计算设备的第一操作模式是受管操作模式并且第二计算设备的第二操作模式是非受管操作模式时,第二计算设备执行计算活动的至少一部分。
在实施例中,在第二计算设备处执行的计算活动的部分包括与计算活动相关联的内容的呈现、与计算活动相关联的输入的接收和它们的组合中的至少一个。
在另一个实施例中,一种或多种存储指令的非临时性计算机可读介质,其中指令在被执行时使得计算设备:通过编配框架连接到一个或多个计算设备,其中编配框架协调跨越计算设备和一个或多个计算设备的计算活动的操作;接收选定计算设备执行计算活动的至少一部分的指示;显示可用于选作选定计算设备的计算设备的列表,其中计算设备的列表基于计算设备的操作模式,并且操作模式是包括受管操作模式和非受管操作模式的数个操作模式中的一个;以及向编配框架提供请求,以指示选定计算设备执行计算活动的至少一部分。
在实施例中,计算设备列表包括具有与计算设备的操作模式相同的操作模式的至少一个可选择的计算设备;以及计算设备列表排除具有与计算设备的操作模式不同的操作模式的任何计算设备。
在实施例中,计算设备的操作模式是受管操作模式;以及计算设备列表包括具有操作模式为受管操作模式的至少一个可选择的计算设备。
在实施例中,计算设备的操作模式为非受管操作模式;以及计算设备列表包括具有操作模式为受管操作模式或非受管操作模式的至少一个可选择的计算设备。
在实施例中,指令在被执行时还使得计算设备:启动应用程序来响应经由编配框架接收到指令,其中指令指示用于应用程序的期望操作模式;将应用程序的操作模式设为期望操作模式;以及经由编配框架提供通知,所述通知指示应用程序已按照期望操作模式启动。
在实施例中,指令在被执行时,还使得计算设备使用应用程序来执行在一个或多个计算设备中的另一个计算设备处发起的另一个计算活动的至少一部分。在该示例实施例中,由应用程序执行的其他计算活动的部分包括与计算活动相关联的内容的呈现、与计算活动相关联的输入的接收、以及它们的组合中的至少一个。
在实施例中,编配框架被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合中的至少一个,使计算设备和一个或多个计算设备互连。
第三组示例性实施例可涉及在用于连接的设备的编配框架中,管理动态策略和设置。
在一个示例实施例中,方法包括通过编配框架使数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;维持管理策略,所述管理策略管理数个计算设备之间的交互;以及响应于经由编配框架接收到来自数个计算设备中的第一计算设备的请求,应用管理策略,其中所述请求为在数个计算设备中的第二计算设备处执行计算活动的至少一部分。
在实施例中,方法还包括:响应于确定管理策略指示第一计算设备与第二计算设备之间的交互被允许,允许交互;以及响应于确定管理策略指示第一计算设备与第二计算设备之间的交互不被允许,阻止交互。
在实施例中,管理策略基于设备类型指示企业资源是否被允许访问,并且方法还包括:识别第一计算设备的第一设备类型;确定管理策略是否允许第一设备类型的计算设备访问企业资源;响应于确定管理策略允许第一设备类型的计算设备访问企业资源,允许第一计算设备访问企业资源;以及响应于确定管理策略不允许该计算设备访问企业资源,阻止第一计算设备访问企业资源。
在实施例中,管理策略基于设备类型指示企业资源是否被允许共享,并且方法还包括:识别第二计算设备的第二设备类型;确定管理策略是否允许企业资源与第二设备类型的计算设备共享;响应于确定管理策略允许企业资源与第二设备类型的计算设备共享,允许第一计算设备与第二计算设备共享企业资源;以及响应于确定管理策略不允许企业资源与第二设备类型的计算设备共享,阻止第一计算设备与第二计算设备共享企业资源。
在实施例中,管理策略指示内容是否被允许在数个计算设备之间传送,并且方法还包括:响应于确定管理策略允许第一计算设备将内容传送到第二计算设备,允许第一计算设备将内容传送到第二计算设备;以及响应于确定管理策略不允许第一计算设备将内容传送到第二计算设备,阻止第一计算设备将内容传送到第二计算设备。
在实施例中,管理策略基于内容的内容类型,指示内容是否被允许在数个计算设备之间传送。
在实施例中,管理策略指示一个或多个应用程序是否被允许在数个计算设备处启动,并且方法还包括:接收将内容从第一计算设备传送到第二计算设备的请求;识别能够呈现内容的应用程序;确定管理策略是否允许应用程序在第二计算设备处启动;响应于确定管理策略允许应用程序在第二计算设备处启动,开始在第二计算设备处启动应用程序;以及响应于确定管理策略不允许应用程序在第二计算设备处启动,阻止在第二计算设备处启动应用程序。
在实施例中,管理策略基于与一个或多个应用程序中的每个相关联的相应应用程序类,指示一个或多个应用程序是否被允许在数个计算设备处启动。
在实施例中,方法还包括:响应于确定管理策略不允许应用程序在第二计算设备处启动,开始在第二计算设备处启动客户端代理;以及将客户端代理配置成包括能够呈现内容的虚拟应用程序。
在实施例中,方法还包括:响应于确定管理策略不允许应用程序在第二计算设备处启动,定位管理策略所允许启动应用程序的数个计算设备中的第三计算设备;以及开始在第三计算设备处启动应用程序。
在另一个实施例中,一种装置,包括:至少一个处理器;存储管理策略和计算机可读指令的存储器,其中所述计算机可读指令在被至少一个处理器执行时,使得装置通过编配框架将数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,基于管理策略来管理数个计算设备之间的交互,以及响应于经由编配框架接收到来自数个计算设备中的第一计算设备的请求,应用管理策略,其中所述请求为在数个计算设备中的第二计算设备处执行计算活动的至少一部分。在该示例实施例中,管理策略管理数个计算设备之间的交互。
在实施例中,指令在被至少一个处理器执行时,还使得设备提供管理界面,所述管理界面包括允许管理用户配置管理策略的至少一个控件。
在实施例中,管理策略根据内容的内容类型,指示内容是否被允许在数个计算设备之间共享;并且内容类型包括基于文档的内容、基于图像的内容、基于视频的内容、基于网页的内容、以及它们的组合中的至少一个。
在实施例中,管理策略根据应用程序的应用程序类,指示应用程序是否被允许在计算设备中的至少一个处启动;并且应用程序类包括以下应用程序类中的至少一个:包括能够呈现在数个计算设备之间传送的基于文档的内容的一个或多个应用程序的第一应用程序类,包括能够呈现在数个计算设备之间传送的基于图像的内容的一个或多个应用程序的第二应用程序类,包括能够呈现在数个计算设备之间传送的基于视频的内容的一个或多个应用程序的第三应用程序类,包括能够呈现在数个计算设备之间传送的基于音频的内容的一个或多个应用程序的第四应用程序类;包括能够呈现在数个计算设备之间传送的基于网页的内容的一个或多个应用程序的第五应用程序类,以及它们的组合。
在实施例中,管理策略指示用户被允许通过编配框架连接的计算设备的最大数量。
在实施例中,管理策略根据计算设备的设备类型,指示用户是否被允许通过编配框架来连接计算设备。
在实施例中,管理策略指示数个计算设备中的计算设备是否被允许传送内容,和计算设备是否被允许接收所传送的内容。
在实施例中,管理策略指示位于共同位置处的计算设备是否被允许交互,和不在共同位置处的计算设备是否被允许交互。
在实施例中,管理策略根据与第一计算设备相关联的第一用户的第一用户角色和与第二计算设备相关联的第二用户的第二用户角色,指示数个计算设备中的第一计算设备是否被允许将内容传送到数个计算设备中的第二计算设备。
在另一个实施例中,一种或多种存储指令的非临时性计算机可读介质,其中指令在被执行时使得至少一个计算设备:通过编配框架连接到一个或多个计算设备,其中编配框架以对等的方式协调跨越计算设备和一个或多个计算设备的计算活动的操作;获得来自策略管理器的管理策略;向一个或多个计算设备中的单独计算设备提供管理策略;以及根据管理策略,管理计算设备与一个或多个计算设备中的单独计算设备之间的对等通信。
第四组示例性实施例可涉及在用于连接的设备的编配框架中,控制对企业资源的设备访问。
在一个实施例中,方法包括通过编配框架使数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;接收请求,所述请求为将内容从在数个计算设备中的第一计算设备传送到在数个计算设备中的第二计算设备;识别在第一计算设备处的存储内容的第一数据仓库;确定第一数据仓库是否被加密;以及响应于确定第一数据仓库被加密,指示第二计算设备将内容存储在第二数据仓库中。
在实施例中,方法还包括:响应于确定第一数据仓库被加密,在将内容传送到第二计算设备之前,使用加密密钥对内容进行加密;以及向第二计算设备提供加密密钥,使得第二计算设备能够将内容解密。
在实施例中,方法还包括:响应于确定第一数据仓库未被加密,指示第二计算设备将内容存储在未加密的第三数据仓库中。
在实施例中,方法还包括向第二计算设备发送指令,所述指令为删除内容。在该示例实施例中,在第二计算设备处接收到指令使得第二计算设备删除存储在第二计算设备的第二数据仓库处的内容的至少一部分。
在实施例中,第二计算设备的第二数据仓库是存储加密的内容的加密数据仓库;第二计算设备包括存储非加密内容的非加密数据仓库;并且在第二计算设备处接收到指令使得第二计算设备从加密数据仓库删除加密内容的至少一部分并且从非加密数据仓库删除非加密内容的至少一部分。
在实施例中,编配框架被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合中的至少一个,使得第一计算设备和第二计算设备互连。
在另一个实施例中,装置包括:至少一个处理器;和存储计算机可读指令的存储器,其中所述计算机可读指令在被至少一个处理器执行时,使得装置:通过编配框架将数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,接收请求,所述请求为将内容从数个计算设备中的第一计算设备传送到数个计算设备中的第二计算设备,识别在第一计算设备处的存储内容的第一数据仓库,以及当内容被传送到第二计算设备时,基于第一数据仓库,指示第二计算设备对内容进行存储。在该示例实施例中,第一数据仓库是第一加密数据仓库或第一非加密数据仓库中的一个。
在实施例中,第二计算设备包括第二加密数据仓库和第二非加密数据仓库;并且指令在被至少一个处理器执行时,还使得装置指示第二计算设备将内容存储在第二加密数据仓库中,来响应确定第一数据仓库是第一加密数据仓库,并且指示第二计算设备将内容存储在第二非加密数据仓库中,来响应确定第一数据仓库是非加密数据仓库。
在实施例中,第一计算设备包括主要数据存储区;第一数据仓库是第一加密数据仓库;主要数据存储区和第一数据仓库是单独的组件;指令在被至少一个处理器执行时,还使得装置确定第二计算设备是否包括第二加密数据仓库,并且开始将内容传送到第二计算设备,来响应确定第二计算设备包括第二加密数据仓库。
在实施例中,指令在被至少一个处理器执行时,还使得装置阻止将内容传送到第二计算设备,来响应确定第二计算设备不包括第二加密数据仓库。
在实施例中,指令在被至少一个处理器执行时,还使得处理器(响应于确定第二计算设备不包括第二加密数据仓库)定位包括第三加密数据仓库的第三计算设备,开始将内容传送到第三计算设备,以及指示第三计算设备将内容存储在第三加密数据仓库中。
在实施例中,内容被存储在第二计算设备的第二数据仓库中;并且指令在被至少一个处理器执行时,还使得装置指示第二计算设备删除存储在第二数据仓库中的内容的至少一部分。
在实施例中,第二数据仓库是第二加密数据仓库;并且指令在被至少一个处理器执行时,还使得装置指示第二计算设备删除存储在第二加密数据仓库中的全部内容。
在实施例中,第二计算设备是存储内容的数个计算设备中的一个;并且指令在被至少一个处理器执行时,使得装置追踪数个计算设备中的存储内容的每个计算设备。
在实施例中,指令在被至少一个处理器执行时,还使得装置指示数个计算设备中的每个计算设备删除分别存储在计算设备中的每个计算设备处的内容的至少一部分。
在另一个实施例中,一种或多种存储指令的非临时性计算机可读介质,其中指令在被执行时使得计算设备:通过编配框架连接到一个或多个计算设备,其中编配框架协调跨越计算设备和一个或多个计算设备的计算活动的操作;接收将选定内容传送到数个计算设备中的选定计算设备的指示,其中选定内容存储在计算设备的第一加密数据仓库处;显示可用于选作选定计算设备的计算设备的列表,其中计算设备的列表包括具有加密数据仓库的一个或多个计算设备,并且排除不具有加密数据仓库的任何计算设备;接收计算设备列表中的计算设备中的一个作为选定计算设备的选择;以及开始经由编配框架将选定内容传送到选定计算设备,其中在选定计算设备接收到选定内容使得选定计算设备将选定内容存储在第二加密数据仓库处。
在实施例中,指令在执行时,使得计算设备在将选定内容传送到选定计算设备之前,使用加密密钥将内容加密;以及向选定计算设备提供加密密钥,使得选定计算设备能够将选定内容解密。
在实施例中,计算设备包括第一加密数据仓库和第一非加密数据仓库;并且指令在执行时,还使得计算设备接收从第二计算设备传送的内容,并将传送的内容存储在第一加密数据仓库或第一非加密数据仓库中的一个中。
在实施例中,所传送的内容被加密;并且指令在执行时,还使得计算设备接收与传送的内容一起传送的加密密钥,并且使用加密密钥将传送的内容解密。
在实施例中,传送的内容存储在第一加密数据仓库中;并且指令在执行时,使得计算设备删除所传送的内容的至少一部分,来响应删除所传送的内容的指令的接收。
第五组示例性实施例可涉及在用于连接的设备的编配框架中的单一登录访问。
在一个实施例中,方法包括通过编配框架使数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;识别被数个计算设备中的第一计算设备用于访问资源的单一登录(SSO)凭证;以及将SSO凭证提供给数个计算设备中的第二计算设备,使得第二计算设备被允许使用SSO凭证访问资源。
在实施例中,方法还包括:基于SSO凭证,在第一计算设备处建立第一用户设置;以及基于SSO凭证,在第二计算设备处建立第二用户设置。在该示例实施例中,第二用户设置至少部分匹配第一用户设置。
在实施例中,方法还包括基于SSO凭证对第一计算设备处的第一应用程序进行配置;以及基于SSO凭证对第二计算设备处的第二应用程序进行配置,使得第二应用程序被配置成具有分别匹配第一应用程序的一个或多个配置设置的一个或多个配置设置。
在实施例中,第二计算设备是与第一计算设备相关联的数个计算设备中的一个,并且方法还包括向数个计算设备中的每个计算设备提供SSO凭证。在该示例实施例中,SSO凭证使得数个计算设备中的计算设备中的每个计算设备均能够访问资源。
在实施例中,第一计算设备和计算设备组与共同的用户相关联。
在实施例中,资源是文件服务器,并且方法还包括:使用SSO凭证从第一计算设备访问文件服务器;将存储在第一计算设备处的内容发送到文件服务器以便存储;以及通知第二计算设备,所述通知为使用SSO凭证可使内容从文件服务器可用。
在另一个实施例中,一种装置包括:至少一个处理器;被配置成使得数个计算设备中的第一计算设备能够访问资源的代理;存储计算机可读指令的存储器,其中所述指令在被至少一个处理器执行时,使得装置通过编配框架将数个计算设备互连,所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,接收从第一计算设备访问资源的请求,使用代理从资源管理器获得用于第一计算设备的单一登录(SSO)凭证,其中SSO凭证使得第一计算设备能够访问资源;识别与第一计算设备相关联的数个计算设备中的第二计算设备,并且自动使得第二计算设备能够访问资源。
在实施例中,指令在被至少一个处理器执行时,还使得装置通过向第二计算设备提供SSO凭证,使第二计算设备能够访问资源。
在实施例中,指令在被至少一个处理器执行时,还使得处理器从第一计算设备请求唯一标识符;以及向资源管理器提供唯一标识符,使得SSO凭证对应于唯一标识符。
在实施例中,SSO凭证是会话密钥。
在实施例中,SSO凭证是第一SSO凭证;指令在被至少一个处理器执行时,还使得装置通过从资源管理器获得用于第二计算设备的第二SSO凭证,并且将该第二SSO凭证提供给第二计算设备,使得第二计算设备能够访问资源。在该示例实施例中,第二SSO凭证使得第二计算设备能够访问资源。
在实施例中,第二计算设备使用第二SSO凭证访问资源。
在实施例中,代理使用SSO凭证代表第二计算设备访问资源。
在实施例中,第二计算设备是与第一计算设备相关联的数个计算设备中的一个;指令在被至少一个处理器执行时,还使得处理器从资源管理器获得用于数个计算设备中的每个计算设备的相应SSO凭证,并且将相应的SSO凭证提供到数个计算设备中的计算设备中的每个计算设备。在该示例实施例中,相应的SSO凭证使得计算设备中的每个能够访问资源。
在实施例中,指令在被至少一个处理器执行时,还使得装置从第一计算设备接收将内容传送到第二计算设备的请求,确定第二计算设备是否包括能够呈现内容的应用程序;以及响应于确定第二计算设备不包括能够呈现内容的应用程序,开始在第二计算设备处启动客户端代理,对客户端代理配置能够呈现内容的虚拟应用程序,并向客户端代理提供SSO凭证,使得客户端代理能够使用SSO凭证访问资源。
在实施例中,指令在被至少一个处理器执行时,还使得装置维持识别连接到装置的一个或多个计算设备的计算设备列表;并且维持识别分别与一个或多个计算设备相关联的一个或多个登录凭证的登录凭证列表。
在另一个实施例中,一种或多种具有指令的非临时性计算机可读介质,其中所述指令在执行时,使得设备通过编配框架连接到一个或多个计算设备,所述编配框架协调跨越计算设备和一个或多个计算设备的计算活动的操作;请求访问资源;接收单一登录(SSO)凭证,来响应请求的接收,其中SSO凭证使得计算设备能够访问资源;以及向一个或多个计算设备中的选定计算设备提供SSO凭证,使得选定计算设备被允许使用SSO凭证访问资源。
在实施例中,指令在执行时,还使得计算设备从获得用于计算设备的SSO凭证的代理,接收到针对唯一标识符的请求;以及向代理提供唯一标识符,来响应所述请求的接收,使得SSO凭证对应于唯一标识符。
在实施例中,指令在执行时,使得计算设备基于SSO凭证对计算设备处的第一应用程序应用一个或多个管理策略;以及基于SSO凭证,对选定计算设备处的第二应用程序应用一个或多个管理策略。
在实施例中,一个或多个管理策略是基于与SSO凭证相关联的至少一个用户角色来选择的。
第六组示例性实施例可涉及在用于连接的设备的编配框架中的用于安全数据共享的应用程序管理框架。
在一个实施例中,方法包括通过编配框架建立从数个计算设备中的第一计算设备到数个计算设备中的第二计算设备的连接,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;从第一计算设备处的第一策略代理向策略管理器提交针对管理策略的请求;在第一计算设备处接收来自策略管理器的管理策略,来响应确定管理策略从策略管理器可用;以及向第二计算设备处的第二策略代理提供管理策略,来响应在第一计算设备处接收到管理策略。
在实施例中,方法还包括在第一计算设备处接收通知,所述通知为指示管理策略从策略管理器不可用。
在实施例中,第一策略代理是对驻留在第一计算设备处的第一应用程序进行包装的第一应用程序包装器;并且第二策略代理是对驻留在第二计算设备处的第二应用程序进行包装的第二应用程序包装器。
在实施例中,第一策略代理是驻留在第一计算设备处的第一管理策略执行代理;并且第二策略代理是驻留在第二计算设备处的第二管理策略执行代理。
在实施例中,第一策略代理提交针对管理策略的请求,来响应确定服从于第一策略代理的应用程序已被启动。
在实施例中,方法还包括使用第一策略代理来应用管理策略;以及根据管理策略,来管理驻留在第一计算设备处的第一应用程序与驻留在第一计算设备处的第二应用程序之间的通信。
在实施例中,方法还包括使用第一策略代理来应用管理策略;使用第二策略代理来应用管理策略;以及根据管理策略来管理驻留在第一计算设备处的第一应用程序和驻留在第二计算设备处的第二应用程序之间的通信。
在另一个实施例中,一种装置包括:至少一个处理器;以及存储计算机可读指令的存储器,其中所述指令在被至少一个处理器执行时,使得处理器通过编配框架将数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,确定在数个计算设备中的第一计算设备处的第一策略代理是否接收到管理策略,以及向在数个计算设备中的第二计算设备处的第二策略代理提供管理策略,来响应确定第一策略代理接收到管理策略。
在实施例中,指令在被至少一个处理器执行时,还使得装置接收来自第一计算设备处的第一策略代理的针对管理策略的请求;确定管理策略是否可用;以及响应于确定管理策略可用,向第一策略代理提供管理策略。
在实施例中,响应于确定管理策略可用,指令在被至少一个处理器执行时,还使得装置识别与第一计算设备相关联的一个或多个计算设备;将管理策略提供到在一个或多个计算设备中的每个计算设备处的相应策略代理。在该示例实施例中,第二计算设备是与第一计算设备相关联的一个或多个计算设备中的一个。
在实施例中,指令在被至少一个处理器执行时,还使得装置提供包括至少一个控件的管理策略配置界面,其中所述控件允许管理用户更新现有的管理策略和创建新的管理策略。
在实施例中,指令在被至少一个处理器执行时,还使得装置将管理策略推送到第一计算设备的第一策略代理或第二计算设备的第二策略代理中的至少一个。
在实施例中,指令在被至少一个处理器执行时,还使得装置:接收到来自第一计算设备处的第一策略代理的通知,所述通知为服从于第一策略代理的应用程序已在第一计算设备处启动;确定管理策略是否可用;以及将管理策略推送到第一策略代理,来响应确定更新的管理策略可用。
在实施例中,指令在被至少一个处理器执行时,还使得装置从第一计算设备接收到呈现驻留在第一计算设备处的内容的请求,其中所述内容位于驻留在第二计算设备处的应用程序中;确定应用程序是否服从于第二计算设备处的至少一个策略代理;以及开始将内容传送到第二计算设备处的应用程序,来响应确定应用程序服从于驻留在第二计算设备处的至少一个策略代理。
在实施例中,指令在被至少一个处理器执行时,还使得装置阻止将内容传送到第二计算设备处的应用程序,来响应确定应用程序不服从于驻留在第二计算设备处的至少一个策略代理。
在实施例中,指令在被至少一个处理器执行时,还使得装置(响应于确定应用程序不服从于至少一个策略代理)定位能够呈现内容并且服从于至少一个策略代理的第二应用程序,并且开始将内容传送到第二应用程序。
在实施例中,第二应用程序驻留在连接到装置的第三计算设备处。
在实施例中,指令在被至少一个处理器执行时,还使得装置(响应于确定应用程序不服从于至少一个策略代理)开始启动服从于至少一个策略代理的客户端代理,对客户端代理配置能够呈现内容的虚拟应用程序,以及开始将内容传送到虚拟应用程序。
在另一个实施例中,一种或多种具有指令的非临时性计算机可读介质,其中所述指令在执行时,使得设备通过编配框架连接到一个或多个计算设备,所述编配框架协调跨越计算设备和一个或多个计算设备的计算活动的操作;接收指示,所述指示为将选定内容传送到在一个或多个计算设备中的第二计算设备处的选定应用程序;显示可用于选作选定计算设备的计算设备的列表,其中计算设备列表包括具有选定应用程序所服从的至少一个策略代理的一个或多个计算设备,并且排除不具有选定应用程序所服从的至少一个策略代理的任何计算设备;接收计算设备列表中的计算设备的一个作为选定计算设备的选择;以及开始通过编配框架将选定内容传送到在选定计算设备处的选定应用程序。
在实施例中,在数个计算设备处的相应策略代理对分别驻留在数个计算设备处的一个或多个相应应用程序应用管理策略。
第七组示例性实施例可涉及用于连接的设备的编配框架的企业应用商店。
在一个实施例中,方法包括通过编配框架使数个计算设备互连,其中所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作;将数个计算设备连接到应用商店,所述应用商店被配置成向数个计算设备中的单独的计算设备递送一个或多个应用程序;从第一计算设备接收请求,所述请求为在第二计算设备处执行计算活动的至少一部分;确定是否将应用程序从应用商店递送到第二计设备;以及将应用程序从应用商店递送到第二计算设备,来响应确定将应用程序递送到第二计算设备。
在实施例中,确定是否要将应用程序递送到第二计算设备包括确定第二计算设备是否包括能够执行计算活动的至少一部分的应用程序;以及确定是否要将应用程序从应用商店递送到第二计算设备,来响应确定第二计算设备不包括所述应用程序。
在实施例中,方法还包括维持管理策略,所述管理策略指示数个计算设备中的单独计算设备是否被允许接收来自应用商店的应用程序,和数个计算设备中的单独计算设备是否被允许执行计算活动的至少一部分。
在实施例中,确定是否要将应用程序递送到第二计算设备,包括基于管理策略确定第二计算设备是否被允许接收应用程序;确定将应用程序递送到第二计算设备,来响应确定第二计算设备被允许接收应用程序;以及确定不将应用程序递送到第二计算设备,来响应确定第二计算设备不被允许接收应用程序。
在实施例中,确定是否要将应用程序递送到第二计算设备,包括基于管理策略确定第二计算设备是否被允许执行计算活动的至少一部分;确定将应用程序递送到第二计算设备,来响应确定第二计算设备被允许执行计算活动的至少一部分;以及确定不降应用程序递送到第二计算设备,来响应确定第二计算设备不被允许执行计算活动的至少一部分。
在实施例中,应用程序为非受管应用程序,并且方法还包括将非受管应用程序修改成包括策略代理,使得非受管应用程序变成受管应用程序。在该实施例中,策略代理被配置成在受管应用程序操作期间,执行管理策略。
在另一个实施例中,一种装置包括:至少一个处理器;被配置成向数个计算设备中的单独的计算设备递送一个或多个应用程序的应用商店;以及存储计算机可读指令的存储器,其中所述指令在被至少一个处理器执行时,使得装置通过编配框架将数个计算设备互连,所述编配框架协调跨越数个计算设备中的多个计算设备的计算活动的操作,确定(响应于接收来自第一计算设备的请求)是否要将来自应用商店的应用程序递送到第二计算设备,以及开始将来自应用商店的应用程序递送到第二计算设备,来响应确定将应用程序递送到第二计算设备。
在实施例中,指令在被至少一个处理器执行时,还使得装置基于第二计算设备的能力,推荐一个或多个应用程序以向第二计算设备递送。
在实施例中,指令在被至少一个处理器执行时,还使得装置推荐用于呈现视频内容的一个或多个应用程序,来响应确定第二计算设备能够呈现视频内容;推荐用于呈现音频内容的一个或多个应用程序,来响应确定第二计算设备能够呈现音频内容;以及推荐用于文档编辑的一个或多个应用程序,来响应确定第二计算设备能够编辑文档。
在实施例中,装置还包括这样的管理策略,所述管理策略指示数个计算设备中的单独计算设备是否被允许接收来自应用商店的应用程序,和数个计算设备中的单独计算设备是否被允许执行计算活动的至少一部分。
在实施例中,指令在被至少一个处理器执行时,还使得装置开始将来自应用商店的客户端代理递送到第二计算设备,来响应确定第二计算设备不被允许接收应用程序,或者响应确定第二计算设备不被允许执行计算活动的至少一部分;以及对客户端代理配置能够执行计算活动的至少一部分的虚拟应用程序。
在实施例中,应用程序为非受管应用程序;指令在被至少一个处理器执行时,还使得装置将非受管应用程序修改为包括策略代理,使得非受管应用程序变成受管应用程序;以及策略代理被配置成在受管应用程序操作期间执行管理策略。
在实施例中,应用商店追踪哪些应用程序被递送到数个计算设备中的单独计算设备。
在另一个实施例中,一种或多种具有指令的非临时性计算机可读介质,其中所述指令在执行时,使得设备通过编配框架连接到一个或多个计算设备,所述编配框架协调跨越计算设备和一个或多个计算设备的计算活动的操作;连接到应用商店,其中所述应用商店被配置成向计算设备和一个或多个计算设备递送一个或多个应用程序;以及经由编配框架提交请求,所述请求为在一个或多个计算设备中的选定计算设备处执行计算活动的至少一部分。在该示例实施例中,编配框架确定是否要将应用程序从应用商店递送到选定计算设备,来响应请求的接收;以及应用商店将应用程序递送到选定计算设备,来响应确定将应用程序递送到选定计算设备。
在实施例中,一个或多个计算设备服从于管理策略,其中所述管理策略分别指示一个或多个计算设备是否被允许接收来自应用商店的应用程序,和选定计算设备是否被允许执行计算活动的至少一部分。
在实施例中,指令在执行时,使得计算设备显示可用于选作选定计算设备的计算设备的列表;并且其中计算设备的列表基于管理策略,使得计算设备列表包括被允许接收来自应用商店的应用程序的一个或多个计算设备,并排除不被允许接收来自应用商店的应用程序的任何计算设备。
在实施例中,指令在执行时,使得计算设备显示可用于选作选定计算设备的计算设备的列表。在该示例实施例中,计算设备的列表基于管理策略,使得计算设备列表包括被允许执行计算活动的至少一部分的一个或多个计算设备,并排除不被允许执行计算活动的至少一部分的任何计算设备。
在实施例中,指令在执行时,使得计算设备显示可用于选作选定计算设备的计算设备的列表。在该示例实施例中,计算设备的列表基于将在第二计算设备处执行的计算活动,使得计算设备的列表包括能够执行计算活动的至少一部分的一个或多个计算设备,并排除不能执行计算活动的至少一部分的任何计算设备。
在实施例中,请求是在第二计算设备处呈现与计算活动相关联的内容的请求。
在实施例中,编配框架被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合中的至少一个,使得计算设备和一个或多个计算设备互连。
通过本公开的益处,将理解另外的和可选的实施例。另外,虽然已经用对结构特征和/或方法行为特定的语言描述了主题,但是应当理解,在所附权利要求中定义的主题未必限制于上述特定特征或行为。相反,上述特定特征和行为被描述为所附权利要求的示例实施。

Claims (20)

1.一种编配跨越多个计算设备的计算活动的方法,包括:
通过编配框架使数个计算设备互连,所述编配框架协调跨越所述数个计算设备中的多个计算设备的计算活动的操作;
接收请求,所述请求为将内容从在所述数个计算设备中的第一计算设备处的第一应用程序传送到在所述数个计算设备中的第二计算设备处的第二应用程序;
至少部分根据所述第一应用程序的第一操作模式和所述第二应用程序的第二操作模式,确定是否允许所述内容的传送,其中,响应于确定所述第一操作模式与所述第二操作模式相同而允许所述内容的传送;
响应于确定允许所述传送而开始所述内容从所述第一应用程序到所述第二应用程序的所述传送,或者响应于确定不允许所述传送而阻止所述内容从所述第一应用程序到所述第二应用程序的所述传送;以及
其中,所述第一操作模式是强制执行管理策略的受管操作模式或者是不强制执行所述管理策略的非受管操作模式,所述第二操作模式是所述受管操作模式或所述非受管操作模式。
2.根据权利要求1所述的方法,其中:
响应于确定所述第一操作模式是所述非受管操作模式并且所述第二操作模式是所述受管操作模式,允许所述内容的所述传送;以及
响应于确定所述第一操作模式是所述受管操作模式并且所述第二操作模式是所述非受管操作模式,不允许所述内容的所述传送。
3.根据权利要求1所述的方法,其中,响应于确定所述第一操作模式与所述第二操作模式不同,不允许所述内容从所述第一应用程序到所述第二应用程序的所述传送。
4.根据权利要求1所述的方法,还包括:
确定所述第一操作模式是所述受管操作模式并且所述第二操作模式是所述非受管操作模式;
指示所述第二应用程序将所述第二操作模式改变为所述受管操作模式;以及
在所述第二应用程序将所述第二操作模式改变为所述受管操作模式之后,开始所述内容的传送。
5.根据权利要求1所述的方法,其中:
传送所述内容的所述请求包括来自所述第一应用程序的将所述内容复制到虚拟剪切板的请求;
确定是否允许所述传送包括基于所述第一应用程序的所述第一操作模式,确定是否允许所述内容到所述虚拟剪切板的复制;
响应于确定所述第一操作模式是所述受管操作模式,允许所述内容到所述虚拟剪切板的所述复制;以及
响应于确定所述第一操作模式是所述非受管操作模式,不允许所述内容到所述虚拟剪切板的所述复制。
6.根据权利要求5所述的方法,还包括:
传送所述内容的所述请求还包括来自第二应用程序的粘贴来自所述虚拟剪切板的所述内容的请求;
确定是否允许所述传送还包括基于所述第二应用程序,确定是否允许来自所述虚拟剪切板的所述内容的粘贴;
响应于确定所述第二操作模式是所述受管操作模式,允许来自所述虚拟剪切板的所述内容的所述粘贴;以及
响应于确定所述第二操作模式是所述非受管操作模式,不允许来自所述虚拟剪切板的所述内容的所述粘贴。
7.根据权利要求1所述的方法,还包括:
识别在所述第二计算设备处的一个或多个应用程序,其中,所述一个或多个应用程序的相应的操作模式匹配在所述第一计算设备处的所述第一应用程序的所述第一操作模式;以及
通知所述第一计算设备的所述第一应用程序所述一个或多个应用程序适用于被选为所述内容的目标。
8.一种编配跨越多个计算设备的计算活动的装置,包括:
至少一个处理器;
存储计算机可读指令的存储器,其中,所述计算机可读指令在被所述至少一个处理器执行时使得所述装置执行以下动作:
通过编配框架将数个计算设备互连,其中,所述编配框架协调跨越所述数个计算设备中的多个计算设备的计算活动的操作,
接收请求,所述请求为将内容从所述数个计算设备中的第一计算设备传送到所述数个计算设备中的第二计算设备;
至少部分根据所述第一计算设备的第一操作模式和所述第二计算设备的第二操作模式,确定是否允许启动能够在所述第二计算设备处呈现所述内容的应用程序;以及
响应于确定允许所述启动而开始在所述第二计算设备处的所述应用程序的启动,或者响应于确定不允许所述启动而阻止在所述第二计算设备处的所述应用程序的启动;并且
其中,所述第一操作模式是强制执行管理策略的受管操作模式或者是不强制执行所述管理策略的非受管操作模式,所述第二操作模式是所述受管操作模式或非受管操作模式。
9.根据权利要求8所述的装置,其中,所述计算机可读指令在被所述至少一个处理器执行时,还使得所述装置执行以下动作:
确定所述第一计算设备的所述第一操作模式是所述受管操作模式;以及
在所述第二计算设备处启动所述应用程序之后,将所述应用程序的操作模式设为所述受管操作模式。
10.根据权利要求8所述的装置,其中,响应于确定所述第一操作模式与所述第二操作模式不同,不允许在所述第二计算设备处的所述应用程序的启动。
11.根据权利要求8所述的装置,其中,所述计算机可读指令在被所述至少一个处理器执行时还使得所述装置执行以下动作:
在确定是否允许所述应用程序的所述启动时,应用管理策略;以及
其中,至少部分基于所述第一计算设备和所述第二计算设备的相应操作模式确定是否允许所述应用程序的所述启动。
12.根据权利要求11所述的装置,其中:
当所述第一计算设备的所述第一操作模式与所述第二计算设备的所述第二操作模式相同时,所述管理策略允许所述应用程序的所述启动;
当所述第一计算设备的所述第一操作模式是所述非受管操作模式并且所述第二计算设备的所述第二操作模式是所述受管操作模式时,所述管理策略允许所述应用程序的所述启动;以及
当所述第一计算设备的所述第一操作模式是所述受管操作模式并且所述第二计算设备的所述第二操作模式是所述非受管操作模式时,所述管理策略不允许所述应用程序的所述启动。
13.根据权利要求8所述的装置,其中,所述计算机可读指令在被所述至少一个处理器执行时使得所述装置执行以下动作:
应用第一管理策略,以便基于所述第一计算设备的所述第一操作模式,确定所述第一计算设备是否被允许向虚拟剪切板复制;以及
应用第二管理策略,以便基于所述第二计算设备的所述第二操作模式,确定所述第二计算设备是否被允许从所述虚拟剪切板粘贴。
14.一种客户端设备,包括:
一个或多个处理器;
存储器,其存储指令,所述指令在由所述处理器中的一个执行时,使所述客户端设备:
通过编配框架连接到一个或多个计算设备,其中,所述编配框架协调跨越所述客户端设备和所述一个或多个计算设备的计算活动的操作;
接收将选定的内容传送到所述一个或多个计算设备中的选定计算设备的指示;
显示可用于被选为所述选定计算设备的计算设备的列表,其中,所述计算设备的列表基于所述客户端设备的第一操作模式,并且其中所述第一操作模式是强制执行管理策略的受管操作模式或不强制执行管理策略的非受管操作模式;以及
开始经由所述编配框架,将所述选定的内容传送到所述选定计算设备。
15.根据权利要求14所述的客户端设备,其中:
所述计算设备的列表包括具有与所述客户端设备的所述第一操作模式相同的操作模式的至少一个可选择的计算设备;以及
所述计算设备的列表排除具有与所述客户端设备的所述第一操作模式不同的操作模式的任何计算设备。
16.根据权利要求14所述的客户端设备,其中:
所述客户端设备的所述第一操作模式为所述受管操作模式;以及
所述计算设备的列表包括所具有的操作模式为所述受管操作模式的至少一个可选择的计算设备。
17.根据权利要求14所述的客户端设备,其中:
所述客户端设备的所述第一操作模式为所述非受管操作模式;以及
所述计算设备的列表包括所具有的操作模式为所述受管操作模式或所述非受管操作模式的至少一个可选择的计算设备。
18.根据权利要求14所述的客户端设备,其中,所述指令在被执行时还使得所述客户端设备执行以下动作:
响应经由所述编配框架接收到指令而启动应用程序,其中,所述指令指示用于所述应用程序的期望操作模式;
在所述应用程序的启动之后,将所述应用程序的操作模式设为所述期望操作模式;以及
经由所述编配框架提供通知,所述通知指示所述应用程序已按照所述期望操作模式启动。
19.根据权利要求18所述的客户端设备,其中,所述指令在被执行时还使得所述客户端设备执行以下动作:
经由所述编配框架接收所传送的内容来响应所述通知的接收,所述通知指示所述应用程序已按照所述期望操作模式启动;以及
使用所述应用程序呈现所传送的内容。
20.根据权利要求14所述的客户端设备,其中,所述编配框架被配置成经由客户端-服务器通信会话、对等通信会话、以及它们的组合中的至少一个,使所述客户端设备和所述一个或多个计算设备互连。
CN201380063467.4A 2012-10-12 2013-09-30 用于连接的设备的编配框架 Active CN104871172B (zh)

Applications Claiming Priority (27)

Application Number Priority Date Filing Date Title
US201261712953P 2012-10-12 2012-10-12
US201261712962P 2012-10-12 2012-10-12
US201261712956P 2012-10-12 2012-10-12
US201261712948P 2012-10-12 2012-10-12
US61/712,948 2012-10-12
US61/712,956 2012-10-12
US61/712,953 2012-10-12
US61/712,962 2012-10-12
US201261713762P 2012-10-15 2012-10-15
US201261713715P 2012-10-15 2012-10-15
US201261713718P 2012-10-15 2012-10-15
US61/713,718 2012-10-15
US61/713,715 2012-10-15
US61/713,762 2012-10-15
US201261714469P 2012-10-16 2012-10-16
US201261714293P 2012-10-16 2012-10-16
US61/714,293 2012-10-16
US61/714,469 2012-10-16
US201361806577P 2013-03-29 2013-03-29
US61/806,577 2013-03-29
US201361824204P 2013-05-16 2013-05-16
US61/824,204 2013-05-16
US201361861199P 2013-08-01 2013-08-01
US61/861,199 2013-08-01
US13/963,739 2013-08-09
US13/963,739 US9392077B2 (en) 2012-10-12 2013-08-09 Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices
PCT/US2013/062636 WO2014058640A1 (en) 2012-10-12 2013-09-30 Orchestration framework for connected devices

Publications (2)

Publication Number Publication Date
CN104871172A CN104871172A (zh) 2015-08-26
CN104871172B true CN104871172B (zh) 2017-12-01

Family

ID=49725950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380063467.4A Active CN104871172B (zh) 2012-10-12 2013-09-30 用于连接的设备的编配框架

Country Status (4)

Country Link
US (9) US9189645B2 (zh)
EP (1) EP2907073B1 (zh)
CN (1) CN104871172B (zh)
WO (1) WO2014058640A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11861385B2 (en) * 2014-09-08 2024-01-02 Snap One, Llc Method for electronic device virtualization and management

Families Citing this family (725)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4465387B2 (ja) 2004-04-30 2010-05-19 リサーチ イン モーション リミテッド データ伝送を処理するシステムおよび方法
US8200699B2 (en) * 2005-12-01 2012-06-12 Microsoft Corporation Secured and filtered personal information publishing
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8782797B2 (en) * 2008-07-17 2014-07-15 Microsoft Corporation Lockbox for mitigating same origin policy failures
US8989705B1 (en) 2009-06-18 2015-03-24 Sprint Communications Company L.P. Secure placement of centralized media controller application in mobile access terminal
US9998288B2 (en) * 2010-02-26 2018-06-12 International Business Machines Corporation Management of secret data items used for server authentication
WO2011160139A1 (en) 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US9245434B2 (en) 2011-02-09 2016-01-26 Paul D. Baillargeon Warning and message delivery and logging system utilizable in the monitoring of fall arresting and prevention devices and method of same
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US9733934B2 (en) 2011-03-08 2017-08-15 Google Inc. Detecting application similarity
JP5802830B2 (ja) 2011-06-05 2015-11-04 アップル インコーポレイテッド 複数のアプリケーションから受信した通知を表示するためのシステムおよび方法
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
US8769624B2 (en) 2011-09-29 2014-07-01 Apple Inc. Access control utilizing indirect authentication
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US9143530B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US8881229B2 (en) 2011-10-11 2014-11-04 Citrix Systems, Inc. Policy-based application management
US9161226B2 (en) 2011-10-17 2015-10-13 Blackberry Limited Associating services to perimeters
US9613219B2 (en) 2011-11-10 2017-04-04 Blackberry Limited Managing cross perimeter access
US11132672B2 (en) * 2011-11-29 2021-09-28 Cardlogix Layered security for age verification and transaction authorization
US8527763B2 (en) * 2012-01-16 2013-09-03 Dell Products, Lp System and method for enabling seamless transfer of a secure session
US10075334B1 (en) 2012-04-11 2018-09-11 Google Llc Systems and methods for commissioning a smart hub device
US9198204B2 (en) 2012-04-11 2015-11-24 Google Inc. Apparatus and method for seamless commissioning of wireless devices
US10142122B1 (en) 2012-04-11 2018-11-27 Google Llc User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device
US10397013B1 (en) 2012-04-11 2019-08-27 Google Llc User interfaces, systems and methods for configuring smart devices for interoperability with a smart hub device
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US8862181B1 (en) 2012-05-29 2014-10-14 Sprint Communications Company L.P. Electronic purchase transaction trust infrastructure
JP5988699B2 (ja) * 2012-05-30 2016-09-07 キヤノン株式会社 連携システム、その連携方法、情報処理システム、およびそのプログラム。
US9378499B2 (en) 2012-06-12 2016-06-28 Square, Inc. Software PIN entry
IN2014MN02537A (zh) 2012-06-20 2015-07-24 Infotel Broadband Services Ltd
US9369466B2 (en) 2012-06-21 2016-06-14 Blackberry Limited Managing use of network resources
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US10067730B2 (en) * 2012-07-10 2018-09-04 Recursive Labs, Inc. Systems and methods for enabling replay of internet co-browsing
US9355228B2 (en) 2012-07-13 2016-05-31 Angel Secure Networks, Inc. System and method for policy driven protection of remote computing environments
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US8863252B1 (en) 2012-07-25 2014-10-14 Sprint Communications Company L.P. Trusted access to third party applications systems and methods
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US8954588B1 (en) 2012-08-25 2015-02-10 Sprint Communications Company L.P. Reservations in real-time brokering of digital content delivery
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
US20140068445A1 (en) * 2012-09-06 2014-03-06 Sap Ag Systems and Methods for Mobile Access to Enterprise Work Area Information
US9189645B2 (en) 2012-10-12 2015-11-17 Citrix Systems, Inc. Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices
US9516022B2 (en) 2012-10-14 2016-12-06 Getgo, Inc. Automated meeting room
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20140109171A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US9606774B2 (en) 2012-10-16 2017-03-28 Citrix Systems, Inc. Wrapping an application with field-programmable business logic
US9971585B2 (en) 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
EP2909715B1 (en) * 2012-10-16 2022-12-14 Citrix Systems, Inc. Application wrapping for application management framework
EP2728507B1 (en) * 2012-10-30 2020-07-22 RES Software Development B.V. Method and system for enabling and disabling execution of computer instructions
US9307059B2 (en) * 2012-11-09 2016-04-05 Sap Se Retry mechanism for data loading from on-premise datasource to cloud
US9794203B2 (en) 2012-12-07 2017-10-17 Linkedin Corporation Communication systems and methods
US9292342B2 (en) * 2012-12-26 2016-03-22 Microsoft Technology Licensing, Llc Schedule based execution with extensible continuation based actions
US20140189127A1 (en) * 2012-12-27 2014-07-03 Anjaneya Reddy Chagam Reservation and execution image writing of native computing devices
TW201427366A (zh) 2012-12-28 2014-07-01 Ibm 企業網路中為了資料外洩保護而解密檔案的方法與資訊裝置
US9426182B1 (en) * 2013-01-07 2016-08-23 Workspot, Inc. Context-based authentication of mobile devices
US20140195516A1 (en) * 2013-01-09 2014-07-10 Dropbox, Inc. Systems and methods for presenting content items in a collections view
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
WO2014124332A2 (en) 2013-02-07 2014-08-14 Apple Inc. Voice trigger for a digital assistant
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9323916B1 (en) * 2013-02-14 2016-04-26 Google Inc. Secure authorization for accessing content on a shareable device
KR20140102551A (ko) * 2013-02-14 2014-08-22 한국전자통신연구원 하이브리드 저장 시스템의 파일 관리 장치 및 방법
US9900171B2 (en) * 2013-02-25 2018-02-20 Qualcomm Incorporated Methods to discover, configure, and leverage relationships in internet of things (IoT) networks
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US20140258511A1 (en) * 2013-03-11 2014-09-11 Bluebox Security Inc. Methods and Apparatus for Reestablishing Secure Network Communications
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US20140280131A1 (en) * 2013-03-13 2014-09-18 Motorola Mobility Llc Recommendations for Applications Based on Device Context
US20140280698A1 (en) * 2013-03-13 2014-09-18 Qnx Software Systems Limited Processing a Link on a Device
US8881977B1 (en) 2013-03-13 2014-11-11 Sprint Communications Company L.P. Point-of-sale and automated teller machine transactions using trusted mobile access device
US9049186B1 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone re-provisioning and re-use capability for refurbished mobile devices
US9049013B2 (en) * 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US20140281556A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Media presentation description verification
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
US8984592B1 (en) 2013-03-15 2015-03-17 Sprint Communications Company L.P. Enablement of a trusted security zone authentication for remote mobile device management systems and methods
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US20140282103A1 (en) * 2013-03-16 2014-09-18 Jerry Alan Crandall Data sharing
KR102032182B1 (ko) * 2013-03-25 2019-10-15 삼성전자주식회사 데이터 공유 제어 방법 및 데이터 공유 제어 단말
US20140297840A1 (en) 2013-03-29 2014-10-02 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US9455886B2 (en) 2013-03-29 2016-09-27 Citrix Systems, Inc. Providing mobile device management functionalities
US8813179B1 (en) 2013-03-29 2014-08-19 Citrix Systems, Inc. Providing mobile device management functionalities
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9922580B2 (en) 2013-04-30 2018-03-20 Google Llc Apparatus and method for the virtual demonstration of a smart phone controlled smart home using a website
US9716728B1 (en) * 2013-05-07 2017-07-25 Vormetric, Inc. Instant data security in untrusted environments
US9729515B1 (en) * 2013-05-08 2017-08-08 Ca, Inc. System and method for managing secure communications for a virtual machine infrastructure
US9069952B1 (en) 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US10243786B2 (en) * 2013-05-20 2019-03-26 Citrix Systems, Inc. Proximity and context aware mobile workspaces in enterprise systems
US10044799B2 (en) 2013-05-28 2018-08-07 International Business Machines Corporation Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
US9854035B2 (en) 2013-05-28 2017-12-26 International Business Machines Corporation Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring periodic synchronization
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9305161B1 (en) * 2013-06-24 2016-04-05 Emc Corporation Password hardening system using password shares distributed across multiple servers
US9699243B2 (en) * 2013-06-24 2017-07-04 Empire Technology Development Llc User interface delegation to a delegated device
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
US9380077B2 (en) 2013-08-08 2016-06-28 Iboss, Inc. Switching between networks
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
US9413463B2 (en) 2013-08-30 2016-08-09 Google Inc. Apparatus and method for efficient two-way optical communication where transmitter may interfere with receiver
US9118670B2 (en) * 2013-08-30 2015-08-25 U-Me Holdings LLC Making a user's data, settings, and licensed content available in the cloud
US9773240B1 (en) 2013-09-13 2017-09-26 Square, Inc. Fake sensor input for passcode entry security
US10129242B2 (en) 2013-09-16 2018-11-13 Airwatch Llc Multi-persona devices and management
US8910263B1 (en) * 2013-09-17 2014-12-09 Iboss, Inc. Mobile device management profile distribution
IL228523A0 (en) * 2013-09-17 2014-03-31 Nds Ltd Processing private data in a cloud-based environment
US9245097B2 (en) * 2013-09-19 2016-01-26 Infosys Limited Systems and methods for locking an application to device without storing device information on server
EP2851833B1 (en) * 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
US9628468B2 (en) 2013-09-20 2017-04-18 Oracle International Corporation Web-based single sign-on with form-fill proxy application
US9979751B2 (en) 2013-09-20 2018-05-22 Open Text Sa Ulc Application gateway architecture with multi-level security policy and rule promulgations
US9613356B2 (en) 2013-09-30 2017-04-04 Square, Inc. Secure passcode entry user interface
US9558491B2 (en) 2013-09-30 2017-01-31 Square, Inc. Scrambling passcode entry interface
US9928501B1 (en) 2013-10-09 2018-03-27 Square, Inc. Secure passcode entry docking station
CN104580074B (zh) * 2013-10-14 2018-08-24 阿里巴巴集团控股有限公司 客户端应用的登录方法及其相应的服务器
US10154026B2 (en) * 2013-10-15 2018-12-11 Microsoft Technology Licensing, Llc Secure remote modification of device credentials using device-generated credentials
US9602576B2 (en) 2013-10-16 2017-03-21 Empire Technology Development Llc Control redistribution among multiple devices
US9342331B2 (en) * 2013-10-21 2016-05-17 International Business Machines Corporation Secure virtualized mobile cellular device
WO2015060833A1 (en) * 2013-10-22 2015-04-30 Empire Technology Development, Llc Sandboxed application data redirection to datacenters
US9465855B2 (en) * 2013-10-22 2016-10-11 International Business Machines Corporation Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US20150128051A1 (en) * 2013-11-01 2015-05-07 Google Inc. User-configurable delivery of informational events
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9106620B2 (en) * 2013-11-14 2015-08-11 Comcast Cable Communications, Llc Trusted communication session and content delivery
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
US10331695B1 (en) * 2013-11-25 2019-06-25 Amazon Technologies, Inc. Replication coordination service for data transfers between distributed databases
US10885227B2 (en) * 2013-11-26 2021-01-05 CaffeiNATION Signings (Series 3 of Caffeination Series, LLC) Systems, methods and computer program products for managing remote execution of transaction documents
EP2882135B1 (en) * 2013-12-05 2017-08-23 Accenture Global Services Limited Network server system, client device, computer program product and computer-implemented method
US9705676B2 (en) * 2013-12-12 2017-07-11 International Business Machines Corporation Continuous monitoring of fingerprint signature on a mobile touchscreen for identity management
US10015153B1 (en) * 2013-12-23 2018-07-03 EMC IP Holding Company LLC Security using velocity metrics identifying authentication performance for a set of devices
US10088818B1 (en) 2013-12-23 2018-10-02 Google Llc Systems and methods for programming and controlling devices with sensor data and learning
US9537812B2 (en) * 2013-12-31 2017-01-03 Google Inc. Methods, systems, and media for managing notifications directed to multiple applications installed on a user device
US9749440B2 (en) 2013-12-31 2017-08-29 Sweetlabs, Inc. Systems and methods for hosted application marketplaces
US20150189012A1 (en) * 2014-01-02 2015-07-02 Nvidia Corporation Wireless display synchronization for mobile devices using buffer locking
US9501315B2 (en) * 2014-01-10 2016-11-22 Citrix Systems, Inc. Management of unmanaged user accounts and tasks in a multi-account mobile application
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US20150215318A1 (en) * 2014-01-27 2015-07-30 Toplevel Computing Limited Case management system
CA3189978A1 (en) * 2014-02-07 2015-08-13 Kik Interactive Inc. Method and system for replicating a communication application on an auxiliary computing device
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US10264025B2 (en) 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
US9509822B2 (en) 2014-02-17 2016-11-29 Seungman KIM Electronic apparatus and method of selectively applying security in mobile device
CN105960775B (zh) * 2014-03-03 2020-01-07 英特尔公司 用于迁移密钥的方法和装置
US9954679B2 (en) * 2014-03-05 2018-04-24 Qualcomm Incorporated Using end-user federated login to detect a breach in a key exchange encrypted channel
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US10049202B1 (en) 2014-03-25 2018-08-14 Amazon Technologies, Inc. Strong authentication using authentication objects
US10050787B1 (en) 2014-03-25 2018-08-14 Amazon Technologies, Inc. Authentication objects with attestation
KR20150112252A (ko) * 2014-03-27 2015-10-07 삼성전자주식회사 전자 장치 및 이의 연결 방법
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US10084669B2 (en) 2014-04-09 2018-09-25 Centurylink Intellectual Property Llc System and method for cloud computing adaptive cloud services
US9641512B2 (en) * 2014-04-10 2017-05-02 EMC IP Holding Company LLC Identity protocol translation gateway
US9888379B2 (en) * 2014-04-16 2018-02-06 Verizon Patent And Licensing Inc. Affiliation and disaffiliation of computing devices
EP3138011A4 (en) * 2014-04-29 2017-10-18 Twitter, Inc. Inter-application delegated authentication
US9699161B2 (en) * 2014-04-29 2017-07-04 Twitter, Inc. Authentication mechanism
US20150326617A1 (en) * 2014-05-06 2015-11-12 DoNotGeoTrack, Inc. Privacy Control Processes for Mobile Devices, Wearable Devices, other Networked Devices, and the Internet of Things
US10217136B2 (en) * 2014-05-14 2019-02-26 Rakuten, Inc. Distribution control device, distribution control method, program, and storage medium
US10089098B2 (en) * 2014-05-15 2018-10-02 Sweetlabs, Inc. Systems and methods for application installation platforms
US10019247B2 (en) * 2014-05-15 2018-07-10 Sweetlabs, Inc. Systems and methods for application installation platforms
US20150332357A1 (en) * 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services
US20150332351A1 (en) 2014-05-16 2015-11-19 Centurylink Intellectual Property Llc System and Method for Service Provider Cloud Services - Cloud Marketplace
CN104038476B (zh) * 2014-05-16 2019-01-11 百度在线网络技术(北京)有限公司 一种用于登录管理的方法、设备与系统
US9716628B2 (en) 2014-05-23 2017-07-25 Cisco Technology, Inc. Touchless orchestration for layer 3 data center interconnect in communications networks
JP2015225400A (ja) * 2014-05-26 2015-12-14 株式会社リコー 通信システム、転送制御装置、通信方法およびプログラム
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US9324067B2 (en) 2014-05-29 2016-04-26 Apple Inc. User interface for payments
CN110837275B (zh) 2014-05-30 2023-09-05 苹果公司 从使用一个设备转换到使用另一个设备
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
KR102122913B1 (ko) * 2014-05-30 2020-06-26 삼성에스디에스 주식회사 분산형 api 프록시 시스템 및 그러한 시스템에서 트래픽을 관리하는 장치 및 방법
US9697385B2 (en) * 2014-06-20 2017-07-04 Google Inc. Security adjustments in mobile devices
US9584492B2 (en) * 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
US9264419B1 (en) 2014-06-26 2016-02-16 Amazon Technologies, Inc. Two factor authentication with authentication objects
WO2015200889A1 (en) 2014-06-27 2015-12-30 Apple Inc. Electronic device with rotatable input mechanism for navigating calendar application
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10454970B2 (en) * 2014-06-30 2019-10-22 Vescel, Llc Authorization of access to a data resource in addition to specific actions to be performed on the data resource based on an authorized context enforced by a use policy
US10140827B2 (en) 2014-07-07 2018-11-27 Google Llc Method and system for processing motion event notifications
US10127783B2 (en) 2014-07-07 2018-11-13 Google Llc Method and device for processing motion events
US9170707B1 (en) 2014-09-30 2015-10-27 Google Inc. Method and system for generating a smart time-lapse video clip
US9501915B1 (en) 2014-07-07 2016-11-22 Google Inc. Systems and methods for analyzing a video stream
US9449229B1 (en) 2014-07-07 2016-09-20 Google Inc. Systems and methods for categorizing motion event candidates
US9354794B2 (en) 2014-07-07 2016-05-31 Google Inc. Method and system for performing client-side zooming of a remote video feed
US10084795B2 (en) * 2014-07-14 2018-09-25 Cisco Technology, Inc. Network-based real-time distributed data compliance broker
US11838851B1 (en) * 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
WO2016014601A2 (en) 2014-07-21 2016-01-28 Apple Inc. Remote user interface
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
KR20230042141A (ko) 2014-08-02 2023-03-27 애플 인크. 상황 특정 사용자 인터페이스
US10778602B2 (en) 2014-08-04 2020-09-15 International Business Machines Corporation Peer negotiation of area service preferences
US10291597B2 (en) * 2014-08-14 2019-05-14 Cisco Technology, Inc. Sharing resources across multiple devices in online meetings
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US9635011B1 (en) * 2014-08-27 2017-04-25 Jonetix Corporation Encryption and decryption techniques using shuffle function
US9628485B2 (en) * 2014-08-28 2017-04-18 At&T Intellectual Property I, L.P. Facilitating peering between devices in wireless communication networks
AU2015312369B2 (en) 2014-09-02 2018-04-05 Apple Inc. Reduced-size interfaces for managing alerts
US10044695B1 (en) 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
EP4050467A1 (en) 2014-09-02 2022-08-31 Apple Inc. Phone user interface
WO2016036510A1 (en) 2014-09-02 2016-03-10 Apple Inc. Music user interface
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
US11061991B2 (en) 2014-09-05 2021-07-13 Airwatch, Llc Secure document sharing
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9386033B1 (en) * 2014-09-10 2016-07-05 Amazon Technologies, Inc. Security recommendation engine
US10296750B1 (en) 2014-09-10 2019-05-21 Amazon Technologies, Inc. Robust data tagging
US10097533B2 (en) * 2014-09-15 2018-10-09 Okta, Inc. Detection and repair of broken single sign-on integration
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US10248279B2 (en) 2014-09-17 2019-04-02 Microsoft Technology Licensing, Llc Task completion across devices using a shared work space
US9444848B2 (en) * 2014-09-19 2016-09-13 Microsoft Technology Licensing, Llc Conditional access to services based on device claims
US10482404B2 (en) * 2014-09-25 2019-11-19 Oracle International Corporation Delegated privileged access grants
US10530790B2 (en) 2014-09-25 2020-01-07 Oracle International Corporation Privileged session analytics
US9934221B2 (en) * 2014-09-29 2018-04-03 Amazon Technologies, Inc. Remote access control for stored data
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
USD782495S1 (en) 2014-10-07 2017-03-28 Google Inc. Display screen or portion thereof with graphical user interface
US9516033B2 (en) 2014-10-13 2016-12-06 International Business Machines Corporation Providing restricted access to given devices by constructing abstract devices
US10565402B2 (en) * 2014-10-14 2020-02-18 Dropbox, Inc. System and method for serving online synchronized content from a sandbox domain via a temporary address
US9967310B2 (en) * 2014-10-21 2018-05-08 Dropbox, Inc. Using an RPC framework to facilitate out-of-band data transfers
US9762557B2 (en) * 2014-10-28 2017-09-12 Microsoft Technology Licensing, Llc Policy settings configuration with signals
EP3214552A1 (en) * 2014-10-29 2017-09-06 Wacom Co., Ltd. Terminal device, data management system, and server device
US10091311B2 (en) * 2014-11-04 2018-10-02 Entit Software Llc Smart location determination
US9900295B2 (en) * 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US10601604B2 (en) 2014-11-12 2020-03-24 Google Llc Data processing systems and methods for smart hub devices
US10649756B2 (en) * 2014-11-26 2020-05-12 Ebay Inc. Centralized client application management
KR102338850B1 (ko) * 2014-12-02 2021-12-13 삼성전자주식회사 홈 네트워크에서 콘텐츠 공유를 위한 동작 방법 및 시스템
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9667653B2 (en) * 2014-12-15 2017-05-30 International Business Machines Corporation Context-aware network service policy management
US9549032B2 (en) * 2014-12-19 2017-01-17 Ca, Inc. Mobile content management for offline content access
US10542126B2 (en) 2014-12-22 2020-01-21 Cisco Technology, Inc. Offline virtual participation in an online conference meeting
US20160179855A1 (en) * 2014-12-23 2016-06-23 Yahoo! Inc. Ubiquitous content access and management
US9836620B2 (en) * 2014-12-30 2017-12-05 Samsung Electronic Co., Ltd. Computing system for privacy-aware sharing management and method of operation thereof
WO2016108532A1 (en) * 2014-12-30 2016-07-07 Samsung Electronics Co., Ltd. Computing system for privacy-aware sharing management and method of operation thereof
US20160191645A1 (en) * 2014-12-30 2016-06-30 Citrix Systems, Inc. Containerizing Web Applications for Managed Execution
EP3702946B1 (en) 2014-12-31 2021-10-20 Citrix Systems Inc. Shared secret vault for applications with single sign on
US10038591B1 (en) * 2015-01-09 2018-07-31 Juniper Networks, Inc. Apparatus, system, and method for secure remote configuration of network devices
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US9727378B2 (en) 2015-01-21 2017-08-08 Microsoft Technology Licensing, Llc Persistent unenrollment for devices under management
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US10348727B2 (en) * 2015-02-13 2019-07-09 International Business Machines Corporation Automatic key management using enterprise user identity management
US10454676B2 (en) 2015-02-13 2019-10-22 International Business Machines Corporation Automatic key management using enterprise user identity management
US10466883B2 (en) 2015-03-02 2019-11-05 Apple Inc. Screenreader user interface
US20180054438A1 (en) * 2015-03-02 2018-02-22 Microsoft Technology Licensing, Llc Proxy service for uploading data from a source to a destination
US10055121B2 (en) 2015-03-07 2018-08-21 Apple Inc. Activity based thresholds and feedbacks
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US9294442B1 (en) * 2015-03-30 2016-03-22 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9467476B1 (en) 2015-03-13 2016-10-11 Varmour Networks, Inc. Context aware microsegmentation
US10193929B2 (en) 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US9807060B2 (en) 2015-03-13 2017-10-31 International Business Machines Corporation Governed routing of enterprise data in hybrid mobile applications
US9438634B1 (en) 2015-03-13 2016-09-06 Varmour Networks, Inc. Microsegmented networks that implement vulnerability scanning
US11113047B2 (en) * 2015-03-13 2021-09-07 Kony, Inc. Systems and processes of accessing backend services with a mobile application
US10178070B2 (en) 2015-03-13 2019-01-08 Varmour Networks, Inc. Methods and systems for providing security to distributed microservices
US10122576B2 (en) * 2015-03-17 2018-11-06 Microsoft Technology Licensing, Llc Intelligent role selection for dual-role devices
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US9710619B2 (en) 2015-03-31 2017-07-18 Canon Information And Imaging Solutions, Inc. System and method for providing an electronic document
US9525697B2 (en) 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
DE102015206196A1 (de) * 2015-04-08 2016-10-13 Robert Bosch Gmbh Verwaltung von Schnittstellen in einem verteilten System
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9930103B2 (en) * 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9692745B2 (en) 2015-04-10 2017-06-27 Microsoft Technology Licensing, Llc Single sign-on without a broker application
US9948786B2 (en) 2015-04-17 2018-04-17 Cisco Technology, Inc. Handling conferences using highly-distributed agents
US10114835B2 (en) 2015-04-29 2018-10-30 Box, Inc. Virtual file system for cloud-based shared content
US9959398B1 (en) * 2015-04-30 2018-05-01 Ims Health Incorporated Dynamic user authentication and authorization
US10284642B2 (en) * 2015-05-01 2019-05-07 Vmware, Inc. Appliance for sharing information over a WAN via a distributed P2P protocol
US10334040B2 (en) * 2015-05-01 2019-06-25 Vmware, Inc. Sharing information between appliances over a wan via a distributed P2P protocol
US10061917B2 (en) * 2015-05-04 2018-08-28 Benjamin Robert Gardner Network operations center and appliance host in a single machine
US10432592B2 (en) 2015-05-10 2019-10-01 Citrix Systems, Inc. Password encryption for hybrid cloud services
US9961076B2 (en) 2015-05-11 2018-05-01 Genesys Telecommunications Laboratoreis, Inc. System and method for identity authentication
US9917867B2 (en) 2015-05-11 2018-03-13 Citrix Systems, Inc. Conducting online meetings with intelligent environment configuration
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10223526B2 (en) 2015-05-21 2019-03-05 Airwatch Llc Generating packages for managed applications
US10339302B2 (en) * 2015-05-21 2019-07-02 Airwatch Llc Creating multiple workspaces in a device
US10171502B2 (en) 2015-05-21 2019-01-01 Airwatch Llc Managed applications
US10168979B2 (en) 2015-06-05 2019-01-01 Getgo, Inc. Using a sync notification to indicate when a shared screen view of a presenter device has been delivered to an audience
US9916075B2 (en) 2015-06-05 2018-03-13 Apple Inc. Formatting content for a reduced-size user interface
US20160364553A1 (en) * 2015-06-09 2016-12-15 Intel Corporation System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network
US10469464B2 (en) * 2015-06-09 2019-11-05 Intel Corporation Self-configuring key management system for an internet of things network
US9361011B1 (en) 2015-06-14 2016-06-07 Google Inc. Methods and systems for presenting multiple live video feeds in a user interface
US11057364B2 (en) * 2015-06-15 2021-07-06 Airwatch Llc Single sign-on for managed mobile devices
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
CN106330844B (zh) 2015-07-02 2020-08-04 阿里巴巴集团控股有限公司 一种跨终端的免登方法和设备
US10341311B2 (en) * 2015-07-20 2019-07-02 Schweitzer Engineering Laboratories, Inc. Communication device for implementing selective encryption in a software defined network
ITUB20152662A1 (it) * 2015-07-30 2017-01-30 Openarc Srl Sistema per memorizzare, gestire ed utilizzare credenziali di accesso di un utente
GB2540957B (en) * 2015-07-31 2019-12-25 Arm Ip Ltd Managing interaction constraints
US9483317B1 (en) 2015-08-17 2016-11-01 Varmour Networks, Inc. Using multiple central processing unit cores for packet forwarding in virtualized networks
CN106470115B (zh) * 2015-08-20 2021-01-29 斑马智行网络(香港)有限公司 一种安全配置方法、相关装置和系统
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10146915B2 (en) * 2015-09-14 2018-12-04 Salesforce.Com, Inc. Publication of collaborative file to library
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
JP6042955B1 (ja) * 2015-09-18 2016-12-14 株式会社Pfu 情報処理装置、システム、方法およびプログラム
US10057267B1 (en) 2015-09-21 2018-08-21 Amazon Technologies, Inc. Integrating external devices with private networks in provider network environments
US10482231B1 (en) * 2015-09-22 2019-11-19 Amazon Technologies, Inc. Context-based access controls
US10637678B2 (en) 2015-09-24 2020-04-28 Intel Corporation Facilitating portable, reusable, and shareable internet of things (IoT)-based services and resources
WO2017053048A1 (en) * 2015-09-25 2017-03-30 Pcms Holdings, Inc. Domain based iot authorization and authentication
US9641553B2 (en) * 2015-09-25 2017-05-02 Intel Corporation Methods and apparatus to facilitate end-user defined policy management
US9668136B2 (en) * 2015-09-25 2017-05-30 Citrix Systems, Inc. Using derived credentials for enrollment with enterprise mobile device management services
US10904083B2 (en) 2015-09-25 2021-01-26 Intel Corporation IOT service modeling with layered abstraction for reusability of applications and resources
US9665415B2 (en) * 2015-09-26 2017-05-30 Intel Corporation Low-latency internode communication
US20170091279A1 (en) * 2015-09-28 2017-03-30 Immuta, Inc. Architecture to facilitate organizational data sharing and consumption while maintaining data governance
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US11368578B2 (en) * 2015-10-01 2022-06-21 Katherine Joanne Weber Mobile communication device with managed swap of exclusive features
US10447795B2 (en) * 2015-10-05 2019-10-15 Polycom, Inc. System and method for collaborative telepresence amongst non-homogeneous endpoints
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US9762563B2 (en) 2015-10-14 2017-09-12 FullArmor Corporation Resource access system and method
US9509684B1 (en) * 2015-10-14 2016-11-29 FullArmor Corporation System and method for resource access with identity impersonation
US9658817B2 (en) * 2015-10-15 2017-05-23 Optim Corporation Screen sharing terminal, method of screen sharing, and program for screen sharing terminal
CN105553688A (zh) * 2015-10-29 2016-05-04 小米科技有限责任公司 设置设备工作状态的方法、装置及系统
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) * 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
KR101714522B1 (ko) * 2015-11-10 2017-03-09 현대자동차주식회사 가상화 프레임웍 기반 차량 avn 스마트폰 연동 서비스 제공 방법 및 그를 위한 장치
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10291762B2 (en) 2015-12-04 2019-05-14 Cisco Technology, Inc. Docking station for mobile computing devices
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
CN105554264A (zh) * 2015-12-11 2016-05-04 北京元心科技有限公司 移动终端的功能限制方法及系统
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
DE102015225792B3 (de) 2015-12-17 2017-04-13 Volkswagen Aktiengesellschaft Verfahren und ein System zur geschützten Kommunikation zwischen einer mit einem Smartphone gekoppelten mobilen Einheit und einem Server
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
WO2017107053A1 (en) * 2015-12-22 2017-06-29 Intel Corporation Isolated remotely-virtualized mobile computing environment
CN105656879B (zh) * 2015-12-22 2019-02-12 北京奇虎科技有限公司 实现借出账户给他人的方法和相应的系统
US10469399B2 (en) * 2015-12-29 2019-11-05 International Business Machines Corporation Managing remote device based on physical state of a management device
US10225084B1 (en) * 2015-12-29 2019-03-05 EMC IP Holding Company LLC Method, apparatus and computer program product for securely sharing a content item
US11449365B2 (en) * 2016-01-04 2022-09-20 Trilio Data Inc. Ubiquitous and elastic workload orchestration architecture of hybrid applications/services on hybrid cloud
CN105700936A (zh) * 2016-01-14 2016-06-22 福州靠谱网络有限公司 一种安卓模拟器应用程序运行方法和装置
US11424931B2 (en) * 2016-01-27 2022-08-23 Blackberry Limited Trusted execution environment
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9762599B2 (en) 2016-01-29 2017-09-12 Varmour Networks, Inc. Multi-node affinity-based examination for computer network security remediation
US10366243B2 (en) * 2016-02-04 2019-07-30 Airwatch, Llc Preventing restricted content from being presented to unauthorized individuals
US10136282B2 (en) * 2016-02-04 2018-11-20 International Business Machines Corporation Dynamic download policy for mobile applications
US10200369B1 (en) 2016-02-16 2019-02-05 Symantec Corporation Systems and methods for dynamically validating remote requests within enterprise networks
US10341319B2 (en) * 2016-02-17 2019-07-02 Adobe Inc. Utilizing a customized digital font to identify a computing device
US10412168B2 (en) * 2016-02-17 2019-09-10 Latticework, Inc. Implementing a storage system using a personal user device and a data distribution device
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
US10931653B2 (en) 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US11063980B2 (en) * 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
US10289966B2 (en) * 2016-03-01 2019-05-14 Fmr Llc Dynamic seating and workspace planning
CN105704225A (zh) * 2016-03-11 2016-06-22 浪潮(北京)电子信息产业有限公司 一种小型移动通讯终端远程访问超级计算机的方法及装置
US11425169B2 (en) 2016-03-11 2022-08-23 Netskope, Inc. Small-footprint endpoint data loss prevention (DLP)
US11019101B2 (en) * 2016-03-11 2021-05-25 Netskope, Inc. Middle ware security layer for cloud computing services
US11405423B2 (en) 2016-03-11 2022-08-02 Netskope, Inc. Metadata-based data loss prevention (DLP) for cloud resources
IL244557A0 (en) * 2016-03-13 2016-07-31 Cyber Sepio Systems Ltd A system and method for protecting a computer system from USB-related weaknesses such as cyber attacks
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10237364B2 (en) * 2016-03-24 2019-03-19 International Business Machines Corporation Resource usage anonymization
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10212169B2 (en) * 2016-03-30 2019-02-19 Oracle International Corporation Enforcing data security in a cleanroom data processing environment
KR102028298B1 (ko) 2016-04-01 2019-10-02 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 서비스 처리 방법 및 장치
US10050957B1 (en) 2016-04-08 2018-08-14 Parallels International Gmbh Smart card redirection
KR101850203B1 (ko) * 2016-04-11 2018-04-18 라인 가부시키가이샤 기기간 어플리케이션 연동 방법 및 시스템
US10069834B2 (en) * 2016-04-18 2018-09-04 Verizon Patent And Licensing Inc. Using mobile devices as gateways for internet of things devices
US10365909B2 (en) * 2016-04-21 2019-07-30 Data Accelerator Ltd. Method and system for deploying virtualized applications
CN109196500B (zh) 2016-05-13 2022-11-01 移动熨斗公司 对基于云的服务的基于统一vpn和身份的认证
US10523660B1 (en) * 2016-05-13 2019-12-31 MobileIron, Inc. Asserting a mobile identity to users and devices in an enterprise authentication system
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
US10506237B1 (en) 2016-05-27 2019-12-10 Google Llc Methods and devices for dynamic adaptation of encoding bitrate for video streaming
KR102476290B1 (ko) * 2016-06-03 2022-12-09 삼성전자주식회사 파일 공유 방법 및 이를 구현한 전자 장치
CN107483521A (zh) 2016-06-08 2017-12-15 阿里巴巴集团控股有限公司 一种信息展示方法、装置及系统
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
AU2017100667A4 (en) 2016-06-11 2017-07-06 Apple Inc. Activity and workout updates
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
CN106201818B (zh) * 2016-06-24 2019-01-01 青岛海信移动通信技术股份有限公司 一种应用程序运行时间的统计方法和装置
CN105933165A (zh) * 2016-06-28 2016-09-07 合肥润东通信科技股份有限公司 一种物联网专用无线路由管理应用系统
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10574609B2 (en) 2016-06-29 2020-02-25 Cisco Technology, Inc. Chat room access control
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10405182B2 (en) * 2016-06-30 2019-09-03 Huawei Technologies Co., Ltd. Systems devices and processes to support mobile device management of multiple containers in virtualization environment
US10289861B2 (en) * 2016-07-01 2019-05-14 Intel Corporation Permission-based secure media content sharing
US10277631B1 (en) * 2016-07-08 2019-04-30 Sprint Communications Company L.P. Self-preserving policy engine and policy-based content transmission
US10380429B2 (en) 2016-07-11 2019-08-13 Google Llc Methods and systems for person detection in a video feed
US10192415B2 (en) 2016-07-11 2019-01-29 Google Llc Methods and systems for providing intelligent alerts for events
US10957171B2 (en) 2016-07-11 2021-03-23 Google Llc Methods and systems for providing event alerts
US10627993B2 (en) 2016-08-08 2020-04-21 Microsoft Technology Licensing, Llc Interacting with a clipboard store
CN111865653A (zh) * 2016-08-24 2020-10-30 华为技术有限公司 业务编排方法及装置、业务发放方法及装置
JP6812171B2 (ja) * 2016-08-29 2021-01-13 キヤノン株式会社 ネットワークシステム、および、ネットワークシステムにおける制御方法
US20180062944A1 (en) * 2016-09-01 2018-03-01 Cisco Technology, Inc. Api rate limiting for cloud native application
US10466891B2 (en) * 2016-09-12 2019-11-05 Apple Inc. Special lock mode user interface
CN106411580A (zh) * 2016-09-14 2017-02-15 努比亚技术有限公司 设备管理客户端、服务器及设备管理方法
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
EP3519951A4 (en) 2016-10-01 2020-07-01 Gunakar Private Limited SYSTEM FOR COORDINATING A LOGICAL SEQUENCE OF INSTRUCTIONS IN ELECTRONIC DEVICES USING VISUAL PROGRAMMING AND WIRELESS COMMUNICATION
TWI622909B (zh) * 2016-10-07 2018-05-01 晨云軟件科技有限公司 應用於載具之雙作業系統暨多重觸控顯示架構
CN106338976B (zh) * 2016-10-08 2019-02-19 中冶华天工程技术有限公司 一种远程智能工业控制系统及其控制方法
CN106569880B (zh) * 2016-11-07 2020-12-22 Tcl科技集团股份有限公司 一种Android应用间动态共享资源的方法及系统
US10592867B2 (en) 2016-11-11 2020-03-17 Cisco Technology, Inc. In-meeting graphical user interface display using calendar information and system
US10516759B2 (en) * 2016-11-14 2019-12-24 Dell Products, Lp System and method for centralized management of software services
KR20180058883A (ko) 2016-11-24 2018-06-04 (주)케이아이엔엑스 오픈스택 서비스 제공자간 OpenID 기반의 사용자 통합 인증체계 구현 방법
JP2018085069A (ja) * 2016-11-25 2018-05-31 富士通株式会社 情報受信端末、情報配信システム、表示方法および表示プログラム
US10761827B2 (en) * 2016-11-30 2020-09-01 Vmware, Inc. WIN32 software distribution architecture
US10528541B2 (en) * 2016-12-13 2020-01-07 Sap Se Offline access of data in mobile devices
US10516707B2 (en) 2016-12-15 2019-12-24 Cisco Technology, Inc. Initiating a conferencing meeting using a conference room device
WO2018148058A1 (en) 2017-02-10 2018-08-16 Edgewise Networks, Inc. Network application security policy enforcement
US10439985B2 (en) 2017-02-15 2019-10-08 Edgewise Networks, Inc. Network application security policy generation
US10515117B2 (en) 2017-02-14 2019-12-24 Cisco Technology, Inc. Generating and reviewing motion metadata
US10310872B2 (en) * 2017-02-21 2019-06-04 Red Hat, Inc. Transparent fast application launcher
US9942519B1 (en) 2017-02-21 2018-04-10 Cisco Technology, Inc. Technologies for following participants in a video conference
US10511632B2 (en) 2017-03-03 2019-12-17 Microsoft Technology Licensing, Llc Incremental security policy development for an enterprise network
US10419488B2 (en) * 2017-03-03 2019-09-17 Microsoft Technology Licensing, Llc Delegating security policy management authority to managed accounts
US10193992B2 (en) * 2017-03-24 2019-01-29 Accenture Global Solutions Limited Reactive API gateway
US11050832B2 (en) 2017-03-29 2021-06-29 Citrix Systems, Inc. Maintaining a session across multiple web applications
US10637795B2 (en) 2017-04-11 2020-04-28 Cisco Technology, Inc. Identifying and managing connected nodes as reservable resources in a network
US10440073B2 (en) 2017-04-11 2019-10-08 Cisco Technology, Inc. User interface for proximity based teleconference transfer
US10432752B2 (en) * 2017-04-12 2019-10-01 International Business Machines Corporation Method and system for mobile applications update in the cloud
US10812475B2 (en) * 2017-04-18 2020-10-20 Servicenow, Inc. Authenticating access to an instance
US10375125B2 (en) 2017-04-27 2019-08-06 Cisco Technology, Inc. Automatically joining devices to a video conference
US10454761B2 (en) 2017-05-01 2019-10-22 Vmware, Inc. Migration of managed devices to utilize management platform features
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US10075440B1 (en) 2017-05-17 2018-09-11 International Business Machines Corporation Multi-party secure global attestation
CN107038056B (zh) * 2017-05-19 2018-03-16 中南大学 基于安卓平台的流式计算模式调度方法
US10410086B2 (en) 2017-05-30 2019-09-10 Google Llc Systems and methods of person recognition in video streams
US11783010B2 (en) 2017-05-30 2023-10-10 Google Llc Systems and methods of person recognition in video streams
US10645087B2 (en) * 2017-06-06 2020-05-05 Amgen Inc. Centralized authenticating abstraction layer with adaptive assembly line pathways
US10404481B2 (en) 2017-06-06 2019-09-03 Cisco Technology, Inc. Unauthorized participant detection in multiparty conferencing by comparing a reference hash value received from a key management server with a generated roster hash value
EP3614250A4 (en) * 2017-06-07 2020-05-27 Huawei Technologies Co., Ltd. DATA PROCESSING METHOD AND ELECTRONIC DEVICE
US10027658B1 (en) * 2017-06-12 2018-07-17 Cyberark Software Ltd Seamless provision of secret token to cloud-based assets on demand
US20180367528A1 (en) * 2017-06-12 2018-12-20 Cyberark Software Ltd. Seamless Provision of Authentication Credential Data to Cloud-Based Assets on Demand
US10375474B2 (en) 2017-06-12 2019-08-06 Cisco Technology, Inc. Hybrid horn microphone
US10693918B2 (en) 2017-06-15 2020-06-23 Palo Alto Networks, Inc. Radio access technology based security in service provider networks
US10721272B2 (en) 2017-06-15 2020-07-21 Palo Alto Networks, Inc. Mobile equipment identity and/or IOT equipment identity and application identity based security enforcement in service provider networks
US11050789B2 (en) 2017-06-15 2021-06-29 Palo Alto Networks, Inc. Location based security in service provider networks
US10834136B2 (en) 2017-06-15 2020-11-10 Palo Alto Networks, Inc. Access point name and application identity based security enforcement in service provider networks
US10812532B2 (en) 2017-06-15 2020-10-20 Palo Alto Networks, Inc. Security for cellular internet of things in mobile networks
US10708306B2 (en) 2017-06-15 2020-07-07 Palo Alto Networks, Inc. Mobile user identity and/or SIM-based IoT identity and application identity based security enforcement in service provider networks
US10477148B2 (en) 2017-06-23 2019-11-12 Cisco Technology, Inc. Speaker anticipation
CN107506177B (zh) * 2017-06-27 2021-06-15 努比亚技术有限公司 一种应用程序的控制方法及移动终端
CN109144743A (zh) * 2017-06-28 2019-01-04 阿里巴巴集团控股有限公司 一种数据的获取方法、装置及设备
US10516709B2 (en) 2017-06-29 2019-12-24 Cisco Technology, Inc. Files automatically shared at conference initiation
WO2019005103A1 (en) * 2017-06-30 2019-01-03 Nokia Solutions And Networks Oy SECURE CONNECTION CONTEXT SHARING THROUGH A TRUSTED AUTHORITY
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US10706391B2 (en) 2017-07-13 2020-07-07 Cisco Technology, Inc. Protecting scheduled meeting in physical room
US10091348B1 (en) 2017-07-25 2018-10-02 Cisco Technology, Inc. Predictive model for voice/video over IP calls
US10834113B2 (en) 2017-07-25 2020-11-10 Netskope, Inc. Compact logging of network traffic events
US10356128B1 (en) 2017-07-27 2019-07-16 Vmware, Inc. Tag-based policy architecture
US11681568B1 (en) 2017-08-02 2023-06-20 Styra, Inc. Method and apparatus to reduce the window for policy violations with minimal consistency assumptions
US10990702B1 (en) * 2017-08-02 2021-04-27 Styra, Inc. Method and apparatus for authorizing API calls
WO2019030748A1 (en) 2017-08-03 2019-02-14 Cyber Sepio Systems Ltd SYSTEM AND METHOD FOR SECURING A COMPUTER SYSTEM AGAINST THREATS INTRODUCED ÈAR FROM USB DEVICES
IL254573A0 (en) 2017-09-18 2017-11-30 Cyber Sepio Systems Ltd Install a method and computer software product for securing a local network from threats posed by foreign or hostile accessories
US11240207B2 (en) 2017-08-11 2022-02-01 L3 Technologies, Inc. Network isolation
US11601467B2 (en) 2017-08-24 2023-03-07 L3 Technologies, Inc. Service provider advanced threat protection
US10909255B2 (en) * 2017-08-24 2021-02-02 Data Republic Pty Ltd Systems and methods to control data access and usage
CN109510849B (zh) 2017-09-14 2021-06-25 腾讯科技(深圳)有限公司 云存储的帐号鉴权方法和装置
US10664688B2 (en) 2017-09-20 2020-05-26 Google Llc Systems and methods of detecting and responding to a visitor to a smart home environment
US11134227B2 (en) 2017-09-20 2021-09-28 Google Llc Systems and methods of presenting appropriate actions for responding to a visitor to a smart home environment
US11178104B2 (en) 2017-09-26 2021-11-16 L3 Technologies, Inc. Network isolation with cloud networks
EP3684037B1 (en) * 2017-09-26 2024-04-24 Huawei Technologies Co., Ltd. Method for processing notification message and terminal
US11184323B2 (en) 2017-09-28 2021-11-23 L3 Technologies, Inc Threat isolation using a plurality of containers
US11336619B2 (en) 2017-09-28 2022-05-17 L3 Technologies, Inc. Host process and memory separation
US11552987B2 (en) 2017-09-28 2023-01-10 L3 Technologies, Inc. Systems and methods for command and control protection
US11223601B2 (en) 2017-09-28 2022-01-11 L3 Technologies, Inc. Network isolation for collaboration software
US11374906B2 (en) 2017-09-28 2022-06-28 L3 Technologies, Inc. Data exfiltration system and methods
US10931669B2 (en) * 2017-09-28 2021-02-23 L3 Technologies, Inc. Endpoint protection and authentication
US10733005B1 (en) * 2017-10-10 2020-08-04 Parallels International Gmbh Providing access to mobile applications by heterogeneous devices
CN109688084A (zh) * 2017-10-18 2019-04-26 中国联合网络通信集团有限公司 一种限制应用功能的方法及终端
US11170096B2 (en) 2017-10-23 2021-11-09 L3 Technologies, Inc. Configurable internet isolation and security for mobile devices
US11550898B2 (en) 2017-10-23 2023-01-10 L3 Technologies, Inc. Browser application implementing sandbox based internet isolation
US11120125B2 (en) 2017-10-23 2021-09-14 L3 Technologies, Inc. Configurable internet isolation and security for laptops and similar devices
US10547632B2 (en) * 2017-10-27 2020-01-28 Verizon Patent And Licensing Inc. Brokered communication protocol using information theoretic coding for security
US10771621B2 (en) 2017-10-31 2020-09-08 Cisco Technology, Inc. Acoustic echo cancellation based sub band domain active speaker detection for audio and video conferencing applications
WO2019094655A1 (en) 2017-11-10 2019-05-16 Edgewise Networks, Inc. Automated load balancer discovery
US10972468B2 (en) 2017-11-21 2021-04-06 Vmware, Inc. Adaptive device enrollment
US10749870B2 (en) 2017-11-21 2020-08-18 Vmware, Inc. Adaptive device enrollment
US10798103B2 (en) 2017-11-21 2020-10-06 VWware, Inc. Adaptive device enrollment
US10986078B2 (en) * 2017-11-21 2021-04-20 Vmware, Inc. Adaptive device enrollment
US10542119B2 (en) * 2017-12-07 2020-01-21 Citrix Systems, Inc. Multi-geographical processing of user requests
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10547679B1 (en) 2018-01-02 2020-01-28 Architecture Technology Corporation Cloud data synchronization based upon network sensing
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10628149B2 (en) * 2018-02-05 2020-04-21 Vmware, Inc. Enterprise firmware management
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10735400B2 (en) * 2018-02-13 2020-08-04 Vmware, Inc. Mechanism of passing security tokens through both untrusted and validating intermediaries
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10621004B2 (en) * 2018-03-19 2020-04-14 Accenture Global Solutions Limited Resource control stack based system for multiple domain presentation of cloud computing resource control
KR102495643B1 (ko) * 2018-03-26 2023-02-06 삼성전자주식회사 입력 수단에 따른 어플리케이션으로 사용자 입력을 전달하는 모바일 전자 장치 및 방법
US11822680B1 (en) * 2018-03-26 2023-11-21 Ionic Security Inc. Systems and methods for secured computer operations
US11196798B2 (en) 2018-03-27 2021-12-07 Huawei Technologies Co., Ltd. Method for sharing data in local area network and electronic device
US10839100B2 (en) * 2018-04-04 2020-11-17 International Business Machines Corporation Reverse-tiered model to manage temporal access to data
SG11202010240UA (en) * 2018-04-18 2020-11-27 Harsh Vardhan Singhania An improved system and method of receiving, managing, controlling, saving and sharing information content of social media platforms and other applications
US11200289B2 (en) * 2018-05-02 2021-12-14 International Business Machines Corporation Centralized data sharing program
US10742725B2 (en) * 2018-05-04 2020-08-11 Citrix Systems, Inc. Detection and repainting of semi-transparent overlays
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10747874B2 (en) * 2018-05-22 2020-08-18 NortonLifeLock, Inc. Systems and methods for controlling an application launch based on a security policy
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
JP2021525428A (ja) * 2018-06-03 2021-09-24 アップル インコーポレイテッドApple Inc. 振替口座のためのユーザインタフェース
US11303632B1 (en) * 2018-06-08 2022-04-12 Wells Fargo Bank, N.A. Two-way authentication system and method
CN108900487B (zh) * 2018-06-20 2021-09-28 河北上通云天网络科技有限公司 一种植入中间件的共享网盘
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US10652362B1 (en) * 2018-06-28 2020-05-12 State Farm Mutual Automobile Insurance Company Vendor non-specific computer server software system
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US10552136B2 (en) * 2018-06-29 2020-02-04 Alibaba Group Holding Limited One click application asset distribution
CN108897531B (zh) * 2018-06-29 2021-11-16 播思通讯技术(北京)有限公司 一种Carplay开发和调试方法
WO2020014633A1 (en) * 2018-07-13 2020-01-16 Schneider Electric USA, Inc. Late stage device configuration and behavior pattern-based validation
US10984078B2 (en) * 2018-07-16 2021-04-20 Vmware, Inc. Systems and methods for improved authentication
US20200028879A1 (en) 2018-07-17 2020-01-23 Microsoft Technology Licensing, Llc Queryless device configuration determination-based techniques for mobile device management
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US10778652B2 (en) * 2018-07-31 2020-09-15 Bae Systems Information And Electronic Systems Integration Inc. Secure computational workflows
US11184223B2 (en) * 2018-07-31 2021-11-23 Microsoft Technology Licensing, Llc Implementation of compliance settings by a mobile device for compliance with a configuration scenario
US10719373B1 (en) 2018-08-23 2020-07-21 Styra, Inc. Validating policies and data in API authorization system
US11853463B1 (en) 2018-08-23 2023-12-26 Styra, Inc. Leveraging standard protocols to interface unmodified applications and services
US11080410B1 (en) 2018-08-24 2021-08-03 Styra, Inc. Partial policy evaluation
US11223588B2 (en) 2018-09-19 2022-01-11 International Business Machines Corporation Using sensor data to control message delivery
US20200099738A1 (en) * 2018-09-24 2020-03-26 Citrix Systems, Inc. Systems and methods for bridge protocol between diverse applications
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11184162B1 (en) * 2018-09-28 2021-11-23 NortonLifeLock Inc. Privacy preserving secure task automation
US11470121B1 (en) 2018-10-16 2022-10-11 Styra, Inc. Deducing policies for authorizing an API
EP3867777A4 (en) * 2018-10-23 2022-06-22 Citrix Systems, Inc. LOCAL SECURE PLAYBACK OF WEB CONTENT
CN109522760B (zh) * 2018-10-29 2020-08-14 北京博衍思创信息科技有限公司 一种基于硬件控制逻辑的数据转发控制方法及系统
US11450069B2 (en) 2018-11-09 2022-09-20 Citrix Systems, Inc. Systems and methods for a SaaS lens to view obfuscated content
US11310204B2 (en) * 2018-11-13 2022-04-19 Sap Se Centralized access to data repository from a multi-cloud computing environment
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10833949B2 (en) 2018-11-20 2020-11-10 Amazon Technologies, Inc Extension resource groups of provider network services
WO2020106973A1 (en) * 2018-11-21 2020-05-28 Araali Networks, Inc. Systems and methods for securing a workload
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
CN109710430A (zh) * 2018-12-28 2019-05-03 维沃移动通信有限公司 一种菜单项的分享方法及终端
KR102689698B1 (ko) * 2019-01-03 2024-07-31 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US10936347B2 (en) 2019-01-19 2021-03-02 International Business Machines Corporation Contextual virtual assistant communications
US11416641B2 (en) 2019-01-24 2022-08-16 Netskope, Inc. Incident-driven introspection for data loss prevention
US11178537B2 (en) * 2019-01-24 2021-11-16 International Business Machines Corporation Data item transfer between mobile devices
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
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11539785B2 (en) * 2019-02-22 2022-12-27 Microsoft Technology Licensing, Llc Simultaneous cross-device application platform
US11659059B2 (en) * 2019-03-01 2023-05-23 Hewlett Packard Enterprise Development Lp Parallel sharing of hardware
US11586750B2 (en) * 2019-03-21 2023-02-21 Blackberry Limited Managing access to protected data file content
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11184345B2 (en) 2019-03-29 2021-11-23 Vmware, Inc. Workflow service back end integration
US11265309B2 (en) * 2019-03-29 2022-03-01 Vmware, Inc. Workflow service back end integration
US11201889B2 (en) * 2019-03-29 2021-12-14 Citrix Systems, Inc. Security device selection based on secure content detection
US11265308B2 (en) 2019-03-29 2022-03-01 Vmware, Inc. Workflow service back end integration
US11016796B2 (en) 2019-04-10 2021-05-25 Red Hat, Inc. Hypervisor protection of a controllable device
US11128676B2 (en) 2019-04-16 2021-09-21 Citrix Systems, Inc. Client computing device providing predictive pre-launch software as a service (SaaS) sessions and related methods
US11409904B2 (en) * 2019-04-18 2022-08-09 Microsoft Technology Licensing, Llc User interface for building a data privacy pipeline and contractual agreement to share data
US11086959B2 (en) * 2019-05-06 2021-08-10 Google Llc Secure digital assistant integration in web pages
US11593525B1 (en) 2019-05-10 2023-02-28 Styra, Inc. Portable policy execution using embedded machines
US11876798B2 (en) * 2019-05-20 2024-01-16 Citrix Systems, Inc. Virtual delivery appliance and system with remote authentication and related methods
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
CN117170620A (zh) 2019-05-31 2023-12-05 苹果公司 用于音频媒体控件的用户界面
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US20220114113A1 (en) * 2019-06-20 2022-04-14 Hewlett-Packard Development Company, L.P. Command orchestration between applications and peripheral devices
GB2585010B (en) * 2019-06-24 2022-07-13 Blockstar Developments Ltd Cryptocurrency key management
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11189291B2 (en) * 2019-07-22 2021-11-30 Vmware, Inc. Staged user enrollment using audio devices
US11256822B2 (en) 2019-07-22 2022-02-22 Whitestar Communications, Inc. Systems and methods of gesture triggered automatic erasure on a private network
US11968268B2 (en) 2019-07-30 2024-04-23 Dolby Laboratories Licensing Corporation Coordination of audio devices
CN110516440B (zh) * 2019-08-12 2021-12-10 广州海颐信息安全技术有限公司 基于拖拽的特权威胁行为轨迹关联回放的方法及装置
US11496548B2 (en) * 2019-08-23 2022-11-08 Sap Se Decentralized management of collaborative operations for distributed systems
EP4027294A4 (en) * 2019-09-05 2023-05-03 VRC Inc. 3D DATA SYSTEM, SERVER AND 3D DATA PROCESSING METHOD
US10929200B1 (en) 2019-09-16 2021-02-23 International Business Machines Corporation Live runtime infrastructure orchestration
US11327665B2 (en) 2019-09-20 2022-05-10 International Business Machines Corporation Managing data on volumes
US11443056B2 (en) 2019-09-20 2022-09-13 International Business Machines Corporation File access restrictions enforcement
US11328089B2 (en) * 2019-09-20 2022-05-10 International Business Machines Corporation Built-in legal framework file management
US11520530B2 (en) 2019-09-24 2022-12-06 Amazon Technologies, Inc. Peripheral device for configuring compute instances at client-selected servers
US11064017B2 (en) 2019-09-24 2021-07-13 Amazon Technologies, Inc. Peripheral device enabling virtualized computing service extensions
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11044300B2 (en) 2019-10-21 2021-06-22 Citrix Systems, Inc. File transfer control systems and methods
US10628244B1 (en) 2019-10-29 2020-04-21 Snowflake Inc. Calling external functions from a data warehouse
WO2021081800A1 (en) * 2019-10-30 2021-05-06 Citrix Systems, Inc. Visualization of relationship information
US10715524B1 (en) * 2019-11-14 2020-07-14 Snowflake Inc. External credential-less stages for data warehouse integrations
SE544340C2 (en) * 2019-11-19 2022-04-12 Assa Abloy Ab Secure configuration of a target device performed by a user device
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
CN111031108B (zh) * 2019-11-29 2021-09-03 维沃移动通信有限公司 一种同步方法及电子设备
US11290531B2 (en) * 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface
US11893795B2 (en) 2019-12-09 2024-02-06 Google Llc Interacting with visitors of a connected home environment
US11544415B2 (en) 2019-12-17 2023-01-03 Citrix Systems, Inc. Context-aware obfuscation and unobfuscation of sensitive content
US11539709B2 (en) 2019-12-23 2022-12-27 Citrix Systems, Inc. Restricted access to sensitive content
JP6870726B1 (ja) * 2019-12-27 2021-05-12 ダイキン工業株式会社 情報処理システム、情報処理装置、方法及びプログラム
US11030299B1 (en) * 2020-01-27 2021-06-08 Capital One Services, Llc Systems and methods for password managers
US11582235B1 (en) 2020-01-27 2023-02-14 Styra, Inc. Local controller for local API authorization method and apparatus
US11582266B2 (en) 2020-02-03 2023-02-14 Citrix Systems, Inc. Method and system for protecting privacy of users in session recordings
US11494518B1 (en) 2020-03-02 2022-11-08 Styra, Inc. Method and apparatus for specifying policies for authorizing APIs
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11569997B1 (en) 2020-03-09 2023-01-31 Amazon Technologies, Inc. Security mechanisms for data plane extensions of provider network services
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11361113B2 (en) 2020-03-26 2022-06-14 Citrix Systems, Inc. System for prevention of image capture of sensitive information and related techniques
US11140148B1 (en) * 2020-03-30 2021-10-05 Konica Minolta Business Solution U.S.A., Inc. Method and system for instant single sign-on workflows
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11038966B1 (en) 2020-04-28 2021-06-15 Arm Ip Limited Remote device operation
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
WO2021232347A1 (en) * 2020-05-21 2021-11-25 Citrix Systems, Inc. Cross device single sign-on
CN111625378B (zh) * 2020-05-28 2024-07-23 北京达佳互联信息技术有限公司 一种源代码远程查看方法和装置
US11706183B2 (en) * 2020-07-11 2023-07-18 Harsh Vardhan SINGHANIA System and method of receiving, managing, controlling, saving and sharing information content of social media platforms and other applications
CN111858094B (zh) * 2020-07-14 2021-05-18 北京海泰方圆科技股份有限公司 一种数据复制粘贴方法、系统及电子设备
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11531558B2 (en) 2020-07-21 2022-12-20 Bank Of America Corporation System for hybrid computing application with desktop and web-based components
US12003543B1 (en) 2020-07-24 2024-06-04 Styra, Inc. Method and system for modifying and validating API requests
US11513778B1 (en) 2020-08-14 2022-11-29 Styra, Inc. Graphical user interface and system for defining and maintaining code-based policies
WO2022041163A1 (en) 2020-08-29 2022-03-03 Citrix Systems, Inc. Identity leak prevention
US11361106B2 (en) 2020-09-01 2022-06-14 Microsoft Technology Licensing, Llc Chaining, triggering, and enforcing entitlements
US11593363B1 (en) 2020-09-23 2023-02-28 Styra, Inc. Comprehension indexing feature
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11392364B2 (en) * 2020-09-28 2022-07-19 Red Hat, Inc. Adaptive hot reload for class changes
CN116438885A (zh) * 2020-11-05 2023-07-14 维萨国际服务协会 物联网装置的一次性无线认证
US11178038B1 (en) 2020-11-10 2021-11-16 International Business Machines Corporation Internet of things device orchestration
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11520579B1 (en) 2020-11-30 2022-12-06 Styra, Inc. Automated asymptotic analysis
US20220188271A1 (en) * 2020-12-10 2022-06-16 Microsoft Technology Licensing, Llc Framework for allowing complementary workloads/processes to bring in heavy load on a file collaboration platform
US11595322B2 (en) * 2020-12-16 2023-02-28 Dell Products, L.P. Systems and methods for performing self-contained posture assessment from within a protected portable-code workspace
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11171964B1 (en) * 2020-12-23 2021-11-09 Citrix Systems, Inc. Authentication using device and user identity
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
EP4268104A4 (en) * 2020-12-28 2024-04-24 Appward LLC SYSTEM AND METHOD FOR DYNAMIC REAL-TIME CREATION, DISTRIBUTION AND USE OF CUSTOMIZABLE WEB APPLICATIONS
US11799643B2 (en) 2021-01-19 2023-10-24 Bank Of America Corporation Collaborative architecture for secure data sharing
US11271953B1 (en) 2021-01-29 2022-03-08 Netskope, Inc. Dynamic power user identification and isolation for managing SLA guarantees
CN114827362A (zh) 2021-01-29 2022-07-29 Zoom视频通讯公司 用于设备管理的方法和装置
US12050693B2 (en) 2021-01-29 2024-07-30 Varmour Networks, Inc. System and method for attributing user behavior from multiple technical telemetry sources
US11463362B2 (en) 2021-01-29 2022-10-04 Netskope, Inc. Dynamic token bucket method adaptive to opaque server limits
CN114915553A (zh) * 2021-01-29 2022-08-16 Zoom视频通讯公司 设备管理工具
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US11777993B2 (en) 2021-01-30 2023-10-03 Netskope, Inc. Unified system for detecting policy enforcement issues in a cloud-based environment
US12015619B2 (en) 2021-01-30 2024-06-18 Netskope, Inc. Dynamic routing of access request streams in a unified policy enforcement system
US11470162B2 (en) * 2021-01-30 2022-10-11 Zoom Video Communications, Inc. Intelligent configuration of personal endpoint devices
US11848949B2 (en) 2021-01-30 2023-12-19 Netskope, Inc. Dynamic distribution of unified policies in a cloud-based policy enforcement system
CN112511569B (zh) * 2021-02-07 2021-05-11 杭州筋斗腾云科技有限公司 网络资源访问请求的处理方法、系统及计算机设备
US11223489B1 (en) * 2021-02-23 2022-01-11 Garantir LLC Advanced security control implementation of proxied cryptographic keys
US11418331B1 (en) * 2021-02-25 2022-08-16 EMC IP Holding Company LLC Importing cryptographic keys into key vaults
US11711493B1 (en) 2021-03-04 2023-07-25 Meta Platforms, Inc. Systems and methods for ephemeral streaming spaces
US11228627B1 (en) * 2021-03-19 2022-01-18 Microsoft Technology Licensing, Llc Updating user-specific application instances based on collaborative object activity
US20220327003A1 (en) 2021-04-09 2022-10-13 Oracle International Corporation Cloud edge device virtualization
US12032971B2 (en) * 2021-04-29 2024-07-09 Bank Of America Corporation Electronic system for dynamically reconfiguring electronic applications based on user requests
US11138192B1 (en) 2021-04-30 2021-10-05 Snowflake Inc. Invoking external table functions from a database system
US11360634B1 (en) 2021-05-15 2022-06-14 Apple Inc. Shared-content session user interfaces
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
US11418329B1 (en) 2021-05-28 2022-08-16 Garantir LLC Shared secret implementation of proxied cryptographic keys
US11218317B1 (en) 2021-05-28 2022-01-04 Garantir LLC Secure enclave implementation of proxied cryptographic keys
US11689836B2 (en) 2021-05-28 2023-06-27 Plantronics, Inc. Earloop microphone
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US12014142B2 (en) 2021-06-22 2024-06-18 International Business Machines Corporation Machine learning for training NLP agent
US11743040B2 (en) 2021-06-25 2023-08-29 Bank Of America Corporation Vault encryption abstraction framework system
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment
US20230018433A1 (en) * 2021-07-13 2023-01-19 Vmware, Inc. Accessing corporate resources through an enrolled user device
US20230052148A1 (en) * 2021-08-10 2023-02-16 Keross Extensible platform for orchestration of data with built-in scalability and clustering
US20230050212A1 (en) * 2021-08-10 2023-02-16 Keross Extensible platform for orchestration of data using probes
US12001576B2 (en) 2021-08-10 2024-06-04 Keross Fz-Llc Extensible platform for orchestration of data with enhanced security
US12056232B2 (en) * 2021-08-27 2024-08-06 EMC IP Holding Company LLC Function-based service framework with trusted execution platform
US20230064996A1 (en) * 2021-08-31 2023-03-02 Citrix Systems, Inc. Sharing Virtual Environment Data
US12047367B2 (en) * 2021-09-29 2024-07-23 Dell Products L.P. Single sign-on services for database clusters
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
CN114238903A (zh) * 2021-12-02 2022-03-25 航天信息股份有限公司 一种云税票运维平台登录方法及装置
US12015717B2 (en) 2021-12-08 2024-06-18 Bank Of America Corporation System for processing offline digital resource transfers using a hardware device based cryptographic application
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution
CN113904879A (zh) * 2021-12-10 2022-01-07 北京指掌易科技有限公司 移动端的文件追踪方法、装置、电子设备和存储介质
US11553008B1 (en) * 2021-12-30 2023-01-10 Netskope, Inc. Electronic agent scribe and communication protections
US11956270B2 (en) * 2022-02-11 2024-04-09 Oracle International Corporation Parallel network-based vulnerability scanning
US11792196B2 (en) 2022-02-16 2023-10-17 Glance Networks, Inc. Restricting screenshare of web pages to select list of allowed website URLs
US11922145B2 (en) 2022-03-01 2024-03-05 Microsoft Technology Licensing, Llc Initiating data privacy pipelines using reusable templates
US11750756B1 (en) * 2022-03-25 2023-09-05 Kyocera Document Solutions Inc. Contactless document processing system using document management profile
US11907229B2 (en) * 2022-03-31 2024-02-20 Gm Cruise Holdings Llc System and method for platform-independent access bindings
US20230353557A1 (en) * 2022-04-28 2023-11-02 Vmware, Inc. Authentication orchestration across remote appliances
US11947682B2 (en) 2022-07-07 2024-04-02 Netskope, Inc. ML-based encrypted file classification for identifying encrypted data movement
CN114915498B (zh) * 2022-07-14 2022-09-27 国网思极网安科技(北京)有限公司 一种基于密钥保护的安全接入网关
US20240064005A1 (en) * 2022-08-17 2024-02-22 Saudi Arabian Oil Company Automating the creation and maintenance of containerized applications' custom routes and associated ssl certificates
CN116361239B (zh) * 2023-05-24 2023-07-28 成都交大光芒科技股份有限公司 基于对象特征的对象识别同步方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883098B1 (en) * 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
CN101305378A (zh) * 2005-11-28 2008-11-12 国际商业机器公司 防止信息非法取得的系统及其方法
CN102591802A (zh) * 2011-01-05 2012-07-18 广州市国迈科技有限公司 一种所存储文件可被打开但不能被复制的u盘

Family Cites Families (530)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263438A (ja) * 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US5898830A (en) 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US5805803A (en) 1997-05-13 1998-09-08 Digital Equipment Corporation Secure web tunnel
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
JP3001489B2 (ja) 1998-01-16 2000-01-24 新潟日本電気ソフトウェア株式会社 Tcp/ip通信網ブラウザ装置
US6151606A (en) 1998-01-16 2000-11-21 Visto Corporation System and method for using a workspace data manager to access, manipulate and synchronize network data
US6154172A (en) 1998-03-31 2000-11-28 Piccionelli; Gregory A. System and process for limiting distribution of information on a communication network based on geographic location
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US6480096B1 (en) 1998-07-08 2002-11-12 Motorola, Inc. Method and apparatus for theft deterrence and secure data retrieval in a communication device
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US7140005B2 (en) 1998-12-21 2006-11-21 Intel Corporation Method and apparatus to test an instruction sequence
US7130831B2 (en) 1999-02-08 2006-10-31 Copyright Clearance Center, Inc. Limited-use browser and security system
US6609198B1 (en) 1999-08-05 2003-08-19 Sun Microsystems, Inc. Log-on service providing credential level change without loss of session continuity
CA2753375C (en) 1999-08-31 2015-09-22 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US6356933B2 (en) 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
GB2354350B (en) 1999-09-17 2004-03-24 Mitel Corp Policy representations and mechanisms for the control of software
US20030236861A1 (en) 2000-03-03 2003-12-25 Johnson Scott C. Network content delivery system with peer to peer processing components
JP4348818B2 (ja) 2000-03-10 2009-10-21 ソニー株式会社 データ配信システムとその方法およびデータ記録媒体
US6859879B2 (en) 2000-05-26 2005-02-22 International Business Machine Corporation Method and system for secure pervasive access
US7065652B1 (en) 2000-06-21 2006-06-20 Aladdin Knowledge Systems, Ltd. System for obfuscating computer code upon disassembly
GB2366691B (en) 2000-08-31 2002-11-06 F Secure Oyj Wireless device management
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US20020112047A1 (en) 2000-12-05 2002-08-15 Rakesh Kushwaha System and method for wireless data terminal management using general packet radio service network
US20080214300A1 (en) 2000-12-07 2008-09-04 Igt Methods for electronic data security and program authentication
US7904468B2 (en) 2008-02-27 2011-03-08 Research In Motion Limited Method and software for facilitating interaction with a personal information manager application at a wireless communication device
US7640320B2 (en) 2001-01-18 2009-12-29 Yahoo! Inc. Method and system for managing digital content, including streaming media
US6732278B2 (en) 2001-02-12 2004-05-04 Baird, Iii Leemon C. Apparatus and method for authenticating access to a network resource
US7437429B2 (en) 2001-02-13 2008-10-14 Microsoft Corporation System and method for providing transparent access to distributed authoring and versioning files including encrypted files
US7502861B1 (en) 2001-02-16 2009-03-10 Swsoft Holding, Ltd. System and method for providing services for offline servers using the same network address
US20020120607A1 (en) 2001-02-28 2002-08-29 Lumenati, Inc. File sharing system for serving content from a computer
BR0207506A (pt) 2001-03-14 2004-04-20 Nokia Corp Estrutura de dados, método, sistema, e servidor interligados para realizar o gerenciamento da informação de presença
US7302571B2 (en) 2001-04-12 2007-11-27 The Regents Of The University Of Michigan Method and system to maintain portable computer data secure and authentication token for use therein
US20020180790A1 (en) 2001-05-31 2002-12-05 International Business Machines Corporation System and method for encapsulating software components in an application program interface using a proxy object
US20050198379A1 (en) 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
JP3861625B2 (ja) * 2001-06-13 2006-12-20 ソニー株式会社 データ転送システム、データ転送装置、記録装置、データ転送方法
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US6621766B2 (en) 2001-08-01 2003-09-16 Fossil, Inc. Flexible timepiece in multiple environments
US8218829B2 (en) 2001-08-20 2012-07-10 Polycom, Inc. System and method for using biometrics technology in conferencing
EP1421810B1 (en) 2001-08-29 2007-10-31 Research In Motion Limited System and method for addressing a mobile device in an ip-based wireless network
US8560709B1 (en) 2004-02-25 2013-10-15 F5 Networks, Inc. System and method for dynamic policy based access over a virtual private network
US7143443B2 (en) 2001-10-01 2006-11-28 Ntt Docomo, Inc. Secure sharing of personal devices among different users
US7631084B2 (en) 2001-11-02 2009-12-08 Juniper Networks, Inc. Method and system for providing secure access to private networks with client redirection
US7159120B2 (en) 2001-11-19 2007-01-02 Good Technology, Inc. Method and system for protecting data within portable electronic devices
US20030103075A1 (en) 2001-12-03 2003-06-05 Rosselot Robert Charles System and method for control of conference facilities and equipment
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
AU2003201231A1 (en) 2002-01-04 2003-07-30 Lab 7 Networks, Inc. Communication security system
US7873985B2 (en) 2002-01-08 2011-01-18 Verizon Services Corp. IP based security applications using location, port and/or device identifier information
WO2003058483A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Connection architecture for a mobile network
JP2003202929A (ja) 2002-01-08 2003-07-18 Ntt Docomo Inc 配信方法および配信システム
US20030188193A1 (en) 2002-03-28 2003-10-02 International Business Machines Corporation Single sign on for kerberos authentication
JP2003296210A (ja) 2002-04-03 2003-10-17 Japan Research Institute Ltd プロファイル設定ファイル作成方法および装置
US6950825B2 (en) 2002-05-30 2005-09-27 International Business Machines Corporation Fine grained role-based access to system resources
EP1525522A2 (en) 2002-06-06 2005-04-27 Green Border Technologies Method and system for implementing a secure application execution environment using derived user accounts for internet content
US6946715B2 (en) 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
CA2495083A1 (en) 2002-08-09 2004-02-19 Visto Corporation System and method for preventing access to data on a compromised remote device
US7665125B2 (en) 2002-09-23 2010-02-16 Heard Robert W System and method for distribution of security policies for mobile devices
US7437752B2 (en) 2002-09-23 2008-10-14 Credant Technologies, Inc. Client architecture for portable device with security policies
US7665118B2 (en) 2002-09-23 2010-02-16 Credant Technologies, Inc. Server, computer memory, and method to support security policy maintenance and distribution
US7536562B2 (en) 2002-10-17 2009-05-19 Research In Motion Limited System and method of security function activation for a mobile electronic device
FR2847752B1 (fr) 2002-11-27 2006-01-13 At & T Corp Methode et systeme pour gerer l'echange de fichiers joints a des courriers electroniques
US7254831B2 (en) * 2002-12-04 2007-08-07 Microsoft Corporation Sharing a sign-in among software applications having secured features
US8332464B2 (en) 2002-12-13 2012-12-11 Anxebusiness Corp. System and method for remote network access
US7526800B2 (en) 2003-02-28 2009-04-28 Novell, Inc. Administration of protection of data accessible by a mobile device
US9237514B2 (en) * 2003-02-28 2016-01-12 Apple Inc. System and method for filtering access points presented to a user and locking onto an access point
US7353533B2 (en) 2002-12-18 2008-04-01 Novell, Inc. Administration of protection of data accessible by a mobile device
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
CN100565479C (zh) 2003-01-20 2009-12-02 富士通株式会社 复制防止装置以及复制防止方法
JP3928561B2 (ja) * 2003-01-23 2007-06-13 ソニー株式会社 コンテンツ配信システム、情報処理装置又は情報処理方法、並びにコンピュータ・プログラム
US9197668B2 (en) 2003-02-28 2015-11-24 Novell, Inc. Access control to files based on source information
US8020192B2 (en) 2003-02-28 2011-09-13 Michael Wright Administration of protection of data accessible by a mobile device
US7779408B1 (en) 2003-03-24 2010-08-17 Sprint Spectrum L.P. Method and system for downloading and managing portable applications on a mobile device
AU2003229299A1 (en) 2003-05-14 2005-01-21 Threatguard, Inc. System and method for application-level virtual private network
US7543051B2 (en) 2003-05-30 2009-06-02 Borland Software Corporation Method of non-intrusive analysis of secure and non-secure web application traffic in real-time
US20050027862A1 (en) * 2003-07-18 2005-02-03 Nguyen Tien Le System and methods of cooperatively load-balancing clustered servers
US7089594B2 (en) * 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
US7574707B2 (en) 2003-07-28 2009-08-11 Sap Ag Install-run-remove mechanism
US7349913B2 (en) 2003-08-21 2008-03-25 Microsoft Corporation Storage platform for organizing, searching, and sharing data
SE527561C2 (sv) 2003-09-12 2006-04-11 Secured Email Goeteborg Ab Metod, system och datorprogram för kryptografisk kommunikation av elektroniska meddelanden
US20050076085A1 (en) 2003-09-18 2005-04-07 Vulcan Portals Inc. Method and system for managing email attachments for an electronic device
US7492472B2 (en) 2003-10-30 2009-02-17 Xerox Corporation Multimedia communications/collaboration hub
US8483227B2 (en) * 2003-11-20 2013-07-09 International Business Machines Corporation Controlling bandwidth reservations method and apparatus
US7415498B2 (en) 2003-12-10 2008-08-19 International Business Machines Corporation Time limited collaborative community role delegation policy
EP2184934B1 (en) 2003-12-29 2012-12-05 Telefonaktiebolaget L M Ericsson (PUBL) Method and apparatuses for single sign-on access to a service network through an access network
US20050172241A1 (en) 2004-01-08 2005-08-04 International Business Machines Corporation System and method for improved direct system clipboard
US7269605B1 (en) 2004-02-13 2007-09-11 Avidian Technologies Personal information manager data synchronization and augmentation
JP4665406B2 (ja) 2004-02-23 2011-04-06 日本電気株式会社 アクセス制御管理方法、アクセス制御管理システムおよびアクセス制御管理機能付き端末装置
US7720461B2 (en) 2004-02-26 2010-05-18 Research In Motion Limited Mobile communications device with security features
US20050193222A1 (en) * 2004-03-01 2005-09-01 Greene William S. Providing secure data and policy exchange between domains in a multi-domain grid by use of a service ecosystem facilitating uses such as supply-chain integration with RIFD tagged items and barcodes
US7599991B2 (en) 2004-03-10 2009-10-06 Microsoft Corporation Rules interface for implementing message rules on a mobile computing device
US7549048B2 (en) 2004-03-19 2009-06-16 Microsoft Corporation Efficient and secure authentication of computing systems
US7509672B1 (en) 2004-04-01 2009-03-24 Compuware Corporation Cross-platform single sign-on data sharing
JP4465387B2 (ja) 2004-04-30 2010-05-19 リサーチ イン モーション リミテッド データ伝送を処理するシステムおよび方法
US7487353B2 (en) 2004-05-20 2009-02-03 International Business Machines Corporation System, method and program for protecting communication
US7492946B2 (en) 2004-05-24 2009-02-17 Michael James Elder System, method and computer program for an integrated digital workflow for processing a paper form
US7640592B2 (en) 2004-06-12 2009-12-29 Microsoft Corporation Installation setup
WO2006012612A1 (en) 2004-07-23 2006-02-02 Citrix Systems, Inc. A method and systems for securing remote access to private networks
US20060080432A1 (en) 2004-09-03 2006-04-13 Spataro Jared M Systems and methods for collaboration
EP1817686A4 (en) 2004-09-13 2007-12-05 Research In Motion Ltd FILTERING BY COMPATIBLE CATEGORY
US8839090B2 (en) 2004-09-16 2014-09-16 International Business Machines Corporation System and method to capture and manage input values for automatic form fill
US8463946B2 (en) * 2004-09-17 2013-06-11 Caterpillar Inc. Method for automatic radio operational mode selection
DE102004045147A1 (de) 2004-09-17 2006-03-23 Fujitsu Ltd., Kawasaki Einstellungsinformations-Verteilungsvorrichtung, Verfahren, Programm und Medium, Authentifizierungseinstellungs-Transfervorrichtung, Verfahren, Programm und Medium und Einstellungsinformations-Empfangsprogramm
US7949706B2 (en) 2004-09-24 2011-05-24 At&T Intellectual Property I, L.P. Automatic electronic publishing
JP2006094258A (ja) 2004-09-27 2006-04-06 Nippon Telegr & Teleph Corp <Ntt> 端末装置、そのポリシー強制方法およびそのプログラム
US7984192B2 (en) 2004-09-27 2011-07-19 Citrix Systems, Inc. System and method for assigning unique identifiers to each remote display protocol session established via an intermediary device
US7721328B2 (en) 2004-10-01 2010-05-18 Salesforce.Com Inc. Application identity design
US7496954B1 (en) 2004-11-22 2009-02-24 Sprint Communications Company L.P. Single sign-on system and method
US20060085826A1 (en) 2004-10-18 2006-04-20 Funk James M Aggregated program guide for download and view video on demand service
US20090228714A1 (en) 2004-11-18 2009-09-10 Biogy, Inc. Secure mobile device with online vault
US20060112428A1 (en) 2004-11-23 2006-05-25 Nokia Corporation Device having a locking feature and a method, means and software for utilizing the feature
JP2006155522A (ja) 2004-12-01 2006-06-15 Canon Inc Webブラウザの操作方法及び操作装置
US8478849B2 (en) 2004-12-07 2013-07-02 Pure Networks LLC. Network administration tool
US7954090B1 (en) 2004-12-21 2011-05-31 Zenprise, Inc. Systems and methods for detecting behavioral features of software application deployments for automated deployment management
US20060141985A1 (en) 2004-12-23 2006-06-29 Motorola, Inc. Dynamic management for interface access permissions
US7562226B2 (en) 2005-01-14 2009-07-14 Citrix Systems, Inc. System and method for permission-based access using a shared account
EP1844397A2 (en) 2005-01-28 2007-10-17 Nxp B.V. Means and method for debugging
US20060185004A1 (en) 2005-02-11 2006-08-17 Samsung Electronics Co., Ltd. Method and system for single sign-on in a network
US20060256739A1 (en) 2005-02-19 2006-11-16 Kenneth Seier Flexible multi-media data management
WO2006093917A2 (en) 2005-02-28 2006-09-08 Trust Digital Mobile data security system and methods
US20100115581A1 (en) 2008-11-06 2010-05-06 Trust Digital System method and device for mediating connections between policy source servers, corporate respositories, and mobile devices
US7844958B2 (en) 2005-03-11 2010-11-30 Aptana, Inc. System and method for creating target byte code
EP1705598A3 (en) 2005-03-20 2007-03-07 ActivIdentity (Australia) Pty Ltd. Method and system for providing user access to a secure application
US7697737B2 (en) 2005-03-25 2010-04-13 Northrop Grumman Systems Corporation Method and system for providing fingerprint enabled wireless add-on for personal identification number (PIN) accessible smartcards
US7472375B2 (en) 2005-03-29 2008-12-30 Intel Corporation Creating managed code from native code
US7631297B2 (en) * 2005-04-05 2009-12-08 International Business Machines Corporation Autonomic computing: management agent utilizing action policy for operation
US7571475B2 (en) 2005-04-05 2009-08-04 Cisco Technology, Inc. Method and electronic device for triggering zeroization in an electronic device
US7490352B2 (en) 2005-04-07 2009-02-10 Microsoft Corporation Systems and methods for verifying trust of executable files
US20060248577A1 (en) 2005-04-29 2006-11-02 International Business Machines Corporation Using SSO processes to manage security credentials in a provisioning management system
US20070056043A1 (en) 2005-05-19 2007-03-08 Richard Onyon Remote cell phone auto destruct
US20070024646A1 (en) 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
US7970386B2 (en) 2005-06-03 2011-06-28 Good Technology, Inc. System and method for monitoring and maintaining a wireless device
FR2886801B1 (fr) 2005-06-07 2007-08-03 Alcatel Sa Equipement de reseau pour la fourniture a des terminaux mobiles multimodes de donnees necessaires a la selection automatique d'interfaces de reseau d'acces radio pendant des sessions de service
US7565689B2 (en) 2005-06-08 2009-07-21 Research In Motion Limited Virtual private network for real-time data
US8495244B2 (en) 2005-06-29 2013-07-23 Jumpstart Wireless Corporation System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
US7529923B2 (en) 2005-06-30 2009-05-05 Intel Corporation Operating system mode transfer
US7730142B2 (en) 2005-07-01 2010-06-01 0733660 B.C. Ltd. Electronic mail system with functionality to include both private and public messages in a communication
US20070016771A1 (en) 2005-07-11 2007-01-18 Simdesk Technologies, Inc. Maintaining security for file copy operations
US20070011749A1 (en) 2005-07-11 2007-01-11 Simdesk Technologies Secure clipboard function
US20070016907A1 (en) * 2005-07-12 2007-01-18 Fabio Benedetti Method, system and computer program for automatic provisioning of resources to scheduled jobs
US9614964B2 (en) 2005-08-19 2017-04-04 Nextstep, Inc. Consumer electronic registration, control and support concierge device and method
US9864628B2 (en) 2005-08-23 2018-01-09 Blackberry Limited Method and system for transferring an application state from a first electronic device to a second electronic device
US20070049297A1 (en) 2005-08-29 2007-03-01 Janakiraman Gopalan System and method for locating mobile devices through a direct-connection protocol
US20070283324A1 (en) 2005-08-30 2007-12-06 Geisinger Nile J System and method for creating programs that comprise several execution layers
US7779458B1 (en) 2005-09-20 2010-08-17 Rockwell Collins, Inc. Situation aware mobile location ad hoc firewall
US20070072598A1 (en) 2005-09-23 2007-03-29 Coleman David T Controlling wireless communication devices with media recording capabilities
US20070074033A1 (en) 2005-09-29 2007-03-29 Research In Motion Limited Account management in a system and method for providing code signing services
US7870493B2 (en) 2005-10-03 2011-01-11 Microsoft Corporation Distributed clipboard
US8037421B2 (en) 2005-10-11 2011-10-11 Research In Motion Limited System and method for organizing application indicators on an electronic device
US7437755B2 (en) * 2005-10-26 2008-10-14 Cisco Technology, Inc. Unified network and physical premises access control server
US20070100938A1 (en) 2005-10-27 2007-05-03 Bagley Elizabeth V Participant-centered orchestration/timing of presentations in collaborative environments
WO2007053848A1 (en) 2005-11-01 2007-05-10 Mobile Armor, Llc Centralized dynamic security control for a mobile device network
CN101356812A (zh) 2005-11-08 2009-01-28 夏普株式会社 通信装置、通信方法、通信系统、程序和计算机可读记录介质
US20070109983A1 (en) 2005-11-11 2007-05-17 Computer Associates Think, Inc. Method and System for Managing Access to a Wireless Network
US20070248085A1 (en) 2005-11-12 2007-10-25 Cranite Systems Method and apparatus for managing hardware address resolution
US8045958B2 (en) 2005-11-21 2011-10-25 Research In Motion Limited System and method for application program operation on a wireless device
US20070136471A1 (en) * 2005-12-12 2007-06-14 Ip3 Networks Systems and methods for negotiating and enforcing access to network resources
GB2433794B (en) 2005-12-21 2010-08-18 Advanced Risc Mach Ltd Interrupt controller utiilising programmable priority values
WO2007074420A2 (en) 2005-12-26 2007-07-05 Koninklijke Philips Electronics N.V. Method and device for rights management
US8621549B2 (en) 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US7716240B2 (en) 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
EP1967026A2 (en) 2005-12-30 2008-09-10 Telecom Italia S.p.A. Method for customizing the operation of a telephonic terminal
US20070204153A1 (en) 2006-01-04 2007-08-30 Tome Agustin J Trusted host platform
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
EP1982288A2 (en) 2006-01-26 2008-10-22 Imprivata, Inc. Systems and methods for multi-factor authentication
US8132242B1 (en) 2006-02-13 2012-03-06 Juniper Networks, Inc. Automated authentication of software applications using a limited-use token
US7664865B2 (en) 2006-02-15 2010-02-16 Microsoft Corporation Securely hosting a webbrowser control in a managed code environment
US8676973B2 (en) 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US7725922B2 (en) 2006-03-21 2010-05-25 Novell, Inc. System and method for using sandboxes in a managed shell
US20070226225A1 (en) 2006-03-22 2007-09-27 Yiu Timothy C Mobile collaboration and communication system
US20070226034A1 (en) 2006-03-23 2007-09-27 Kyocera Wireless Corp. Wireless communication device meeting scheduler
US8413209B2 (en) 2006-03-27 2013-04-02 Telecom Italia S.P.A. System for enforcing security policies on mobile communications devices
US7774323B2 (en) 2006-03-27 2010-08-10 Sap Portals Israel Ltd. Method and apparatus for delivering managed applications to remote locations
US9112897B2 (en) 2006-03-30 2015-08-18 Advanced Network Technology Laboratories Pte Ltd. System and method for securing a network session
WO2007113709A1 (en) 2006-03-30 2007-10-11 Koninklijke Philips Electronics N.V. Method and apparatus for assigning an application to a security restriction
MX2008012891A (es) 2006-04-06 2009-07-22 Smobile Systems Inc Sistema y metodo de deteccion de software dañino para plataformas moviles de acceso limitado.
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8181010B1 (en) 2006-04-17 2012-05-15 Oracle America, Inc. Distributed authentication user interface system
US20070261099A1 (en) 2006-05-02 2007-11-08 Broussard Scott J Confidential content reporting system and method with electronic mail verification functionality
US8700772B2 (en) 2006-05-03 2014-04-15 Cloud Systems, Inc. System and method for automating the management, routing, and control of multiple devices and inter-device connections
US8085891B2 (en) 2006-05-29 2011-12-27 Research In Motion Limited System and method for management of mobile device communication
US20080046580A1 (en) 2006-06-29 2008-02-21 Nokia Corporation Account creation system and call processing system
US20080027982A1 (en) 2006-07-27 2008-01-31 Ebay Inc. Indefinite caching expiration techniques
JP2008033751A (ja) 2006-07-31 2008-02-14 Ziosoft Inc アップデート方法およびアップデートシステム
US8272048B2 (en) 2006-08-04 2012-09-18 Apple Inc. Restriction of program process capabilities
US8341747B2 (en) 2006-08-08 2012-12-25 International Business Machines Corporation Method to provide a secure virtual machine launcher
US8234704B2 (en) 2006-08-14 2012-07-31 Quantum Security, Inc. Physical access control and security monitoring system utilizing a normalized data format
US20080133729A1 (en) 2006-08-17 2008-06-05 Neustar, Inc. System and method for managing domain policy for interconnected communication networks
US8903365B2 (en) 2006-08-18 2014-12-02 Ca, Inc. Mobile device management
US20080047006A1 (en) * 2006-08-21 2008-02-21 Pantech Co., Ltd. Method for registering rights issuer and domain authority in digital rights management and method for implementing secure content exchange functions using the same
US8010995B2 (en) 2006-09-08 2011-08-30 International Business Machines Corporation Methods, systems, and computer program products for implementing inter-process integrity serialization
US8245285B1 (en) 2006-09-22 2012-08-14 Oracle America, Inc. Transport-level web application security on a resource-constrained device
US8327427B2 (en) 2006-09-25 2012-12-04 Rockstar Consortium Us Lp System and method for transparent single sign-on
JP4959282B2 (ja) 2006-10-13 2012-06-20 中国電力株式会社 アプリケーション稼働制御システムおよびアプリケーション稼働制御方法
US9135444B2 (en) 2006-10-19 2015-09-15 Novell, Inc. Trusted platform module (TPM) assisted data center management
US8259568B2 (en) 2006-10-23 2012-09-04 Mcafee, Inc. System and method for controlling mobile device access to a network
CN101170401B (zh) 2006-10-27 2011-02-02 鸿富锦精密工业(深圳)有限公司 邮件加密/解密系统及方法
US8126128B1 (en) 2006-11-01 2012-02-28 At&T Intellectual Property I, Lp Life cycle management of user-selected applications on wireless communications devices
US8095786B1 (en) 2006-11-09 2012-01-10 Juniper Networks, Inc. Application-specific network-layer virtual private network connections
US8281299B2 (en) 2006-11-10 2012-10-02 Purdue Research Foundation Map-closure: a general purpose mechanism for nonstandard interpretation
US8365258B2 (en) 2006-11-16 2013-01-29 Phonefactor, Inc. Multi factor authentication
US20080141335A1 (en) 2006-12-08 2008-06-12 Novell, Inc. Provisioning software with policy-appropriate capabilities
US9124650B2 (en) 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
JP5070835B2 (ja) 2006-12-26 2012-11-14 日本電気株式会社 携帯端末の機能制限方法及び携帯端末
US8869189B2 (en) 2006-12-29 2014-10-21 Echostar Technologies L.L.C. Controlling access to content and/or services
CA2578472C (en) 2007-01-12 2013-01-15 Truecontext Corporation Methods and system for orchestrating services and data sharing on mobile devices
JP5133973B2 (ja) 2007-01-18 2013-01-30 パナソニック株式会社 難読化支援装置、難読化支援方法、プログラムおよび集積回路
US8214451B2 (en) 2007-01-19 2012-07-03 Alcatel Lucent Network service version management
WO2008086611A1 (en) 2007-01-19 2008-07-24 Research In Motion Limited Selectively wiping a remote device
US8909702B2 (en) 2007-01-29 2014-12-09 Fuji Xerox Co., Ltd. System and method for coordination of devices in a presentation environment
US7644377B1 (en) 2007-01-31 2010-01-05 Hewlett-Packard Development Company, L.P. Generating a configuration of a system that satisfies constraints contained in models
US8132233B2 (en) * 2007-02-05 2012-03-06 Hewlett-Packard Development Company, L.P. Dynamic network access control method and apparatus
WO2008097191A1 (en) 2007-02-07 2008-08-14 Encentuate Pte Ltd Non-invasive usage tracking, access control, policy enforcement, audit logging, and user action automation on software applications
US8095517B2 (en) 2007-02-08 2012-01-10 Blue Coat Systems, Inc. Method and system for policy-based protection of application data
US8074227B2 (en) 2007-02-08 2011-12-06 Microsoft Corporation Utilizing a first managed process to host at least a second managed process
US7761523B2 (en) 2007-02-09 2010-07-20 Research In Motion Limited Schedulable e-mail filters
WO2008101135A1 (en) 2007-02-14 2008-08-21 Snapin Software Inc. System and method for securely managing data stored on mobile devices, such as enterprise mobility data
US8689334B2 (en) 2007-02-28 2014-04-01 Alcatel Lucent Security protection for a customer programmable platform
US20080229117A1 (en) 2007-03-07 2008-09-18 Shin Kang G Apparatus for preventing digital piracy
JP4973246B2 (ja) 2007-03-09 2012-07-11 日本電気株式会社 アクセス権管理システム、サーバ及びアクセス権管理プログラム
WO2008114256A2 (en) 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
CN101281461B (zh) * 2007-04-04 2012-07-04 国际商业机器公司 用于迁移应用所依赖的系统环境的方法和装置
WO2008134702A2 (en) 2007-04-30 2008-11-06 Handipoints, Inc. Systems and methods of managing tasks assigned to an individual
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US20080313257A1 (en) * 2007-06-15 2008-12-18 Allen James D Method and Apparatus for Policy-Based Transfer of an Application Environment
US8463253B2 (en) 2007-06-21 2013-06-11 Verizon Patent And Licensing Inc. Flexible lifestyle portable communications device
US8027518B2 (en) 2007-06-25 2011-09-27 Microsoft Corporation Automatic configuration of devices based on biometric data
US20090006232A1 (en) 2007-06-29 2009-01-01 Gallagher Ken A Secure computer and internet transaction software and hardware and uses thereof
US9270682B2 (en) 2007-07-27 2016-02-23 Blackberry Limited Administration of policies for wireless devices in a wireless communication system
DE602008004958D1 (de) 2007-07-27 2011-03-31 Research In Motion Ltd Fernsteuerung in einem drahtlosen Kommunikationssystem
US8060074B2 (en) 2007-07-30 2011-11-15 Mobile Iron, Inc. Virtual instance architecture for mobile device management systems
US7895409B2 (en) 2007-07-30 2011-02-22 Hewlett-Packard Development Company, L.P. Application inspection tool for determining a security partition
EP2188730A4 (en) 2007-08-08 2014-09-17 Innopath Software Inc PROCEDURE AND ENFORCEMENT OF GUIDELINES ON MOBILE DEVICES
US20090049425A1 (en) 2007-08-14 2009-02-19 Aladdin Knowledge Systems Ltd. Code Obfuscation By Reference Linking
WO2009029296A1 (en) 2007-08-31 2009-03-05 At & T Mobility Ii Llc Enhanced messaging with language translation feature
US20090077638A1 (en) 2007-09-17 2009-03-19 Novell, Inc. Setting and synching preferred credentials in a disparate credential store environment
US8554176B2 (en) 2007-09-18 2013-10-08 Qualcomm Incorporated Method and apparatus for creating a remotely activated secure backup service for mobile handsets
US8001278B2 (en) 2007-09-28 2011-08-16 Intel Corporation Network packet payload compression
KR100946824B1 (ko) 2007-10-31 2010-03-09 (주)피엑스디 디지털 방송 위젯 시스템 및 위젯 출력 방법
KR101185129B1 (ko) 2007-11-02 2012-09-21 콸콤 인코포레이티드 구성가능한 시스템 이벤트 및 자원 중재 관리 장치 및 방법들
US8659427B2 (en) 2007-11-09 2014-02-25 Proxense, Llc Proximity-sensor supporting multiple application services
US20090228963A1 (en) 2007-11-26 2009-09-10 Nortel Networks Limited Context-based network security
US8601562B2 (en) 2007-12-10 2013-12-03 Courion Corporation Policy enforcement using ESSO
US8060596B1 (en) 2007-12-26 2011-11-15 Symantec Corporation Methods and systems for normalizing data loss prevention categorization information
US8453198B2 (en) 2007-12-27 2013-05-28 Hewlett-Packard Development Company, L.P. Policy based, delegated limited network access management
US8538376B2 (en) 2007-12-28 2013-09-17 Apple Inc. Event-based modes for electronic devices
US20090171906A1 (en) 2008-01-02 2009-07-02 Research In Motion Limited System and method for providing information relating to an email being provided to an electronic device
WO2009094372A1 (en) * 2008-01-22 2009-07-30 Authentium, Inc. System and method for protecting data accessed through a network connection
US20090199277A1 (en) 2008-01-31 2009-08-06 Norman James M Credential arrangement in single-sign-on environment
US20090199178A1 (en) 2008-02-01 2009-08-06 Microsoft Corporation Virtual Application Management
CA2700689A1 (en) 2008-02-15 2009-08-20 Citrix Systems, Inc. Systems and methods for secure handling of secure attention sequences
US20090222880A1 (en) 2008-03-03 2009-09-03 Tresys Technology, Llc Configurable access control security for virtualization
US8078713B1 (en) 2008-03-05 2011-12-13 Full Armor Corporation Delivering policy settings with virtualized applications
US8607304B2 (en) 2008-03-07 2013-12-10 At&T Mobility Ii Llc System and method for policy-enabled mobile service gateway
US20130254660A1 (en) 2008-03-13 2013-09-26 Robb Fujioka Tablet computer
US9747141B2 (en) 2008-03-25 2017-08-29 Qualcomm Incorporated Apparatus and methods for widget intercommunication in a wireless communication environment
US8990911B2 (en) 2008-03-30 2015-03-24 Emc Corporation System and method for single sign-on to resources across a network
US9576157B2 (en) 2008-04-02 2017-02-21 Yougetitback Limited Method for mitigating the unauthorized use of a device
US7966652B2 (en) 2008-04-07 2011-06-21 Safemashups Inc. Mashauth: using mashssl for efficient delegated authentication
CN101572678B (zh) 2008-04-30 2012-09-19 北京明朝万达科技有限公司 一种邮件附件透明保密控制方法
WO2009135301A1 (en) 2008-05-07 2009-11-12 Chalk Media Service Corp. Method for enabling bandwidth management for mobile content delivery
US8549657B2 (en) 2008-05-12 2013-10-01 Microsoft Corporation Owner privacy in a shared mobile device
JP5326363B2 (ja) 2008-05-30 2013-10-30 株式会社リコー 画像形成装置、認証制御方法、及びプログラム
US20100192170A1 (en) 2009-01-28 2010-07-29 Gregory G. Raleigh Device assisted service profile management with user preference, adaptive policy, network neutrality, and user privacy
US8924469B2 (en) 2008-06-05 2014-12-30 Headwater Partners I Llc Enterprise access control and accounting allocation for access networks
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US9069599B2 (en) 2008-06-19 2015-06-30 Servicemesh, Inc. System and method for a cloud computing abstraction layer with security zone facilities
US8931038B2 (en) 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8204196B2 (en) 2008-06-25 2012-06-19 International Business Machines Corporation Notification to absent teleconference invitees
US9071974B2 (en) 2008-06-29 2015-06-30 Oceans Edge, Inc. Mobile telephone firewall and compliance enforcement system and method
WO2010001324A2 (en) 2008-06-30 2010-01-07 Mominis Ltd Method of generating and distributing a computer application
US8156442B2 (en) 2008-06-30 2012-04-10 Nokia Corporation Life recorder and sharing
GB2462442A (en) 2008-08-06 2010-02-10 Zybert Computing Ltd A remote server centrally controls access to data stored in a data container in an encrypted form
US8862672B2 (en) 2008-08-25 2014-10-14 Microsoft Corporation Content sharing and instant messaging
CN101662765B (zh) 2008-08-29 2013-08-07 深圳富泰宏精密工业有限公司 手机短信保密系统及方法
US8365183B2 (en) * 2008-09-02 2013-01-29 Ca, Inc. System and method for dynamic resource provisioning for job placement
US8238256B2 (en) 2008-09-08 2012-08-07 Nugent Raymond M System and method for cloud computing
US8763102B2 (en) 2008-09-19 2014-06-24 Hewlett-Packard Development Company, L.P. Single sign on infrastructure
US20100083358A1 (en) * 2008-09-29 2010-04-01 Perfios Software Solutions Pvt. Ltd Secure Data Aggregation While Maintaining Privacy
US8528059B1 (en) 2008-10-06 2013-09-03 Goldman, Sachs & Co. Apparatuses, methods and systems for a secure resource access and placement platform
US20120137364A1 (en) 2008-10-07 2012-05-31 Mocana Corporation Remote attestation of a mobile device
US9026918B2 (en) 2008-10-16 2015-05-05 Accenture Global Services Limited Enabling a user device to access enterprise data
US9836702B2 (en) 2008-10-16 2017-12-05 International Business Machines Corporation Digital rights management (DRM)-enabled policy management for an identity provider in a federated environment
US20100150341A1 (en) 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
US20100146582A1 (en) 2008-12-04 2010-06-10 Dell Products L.P. Encryption management in an information handling system
US20100146523A1 (en) 2008-12-05 2010-06-10 Tripod Ventures Inc./ Entreprises Tripod Inc. Browser environment application and local file server application system
US8931033B2 (en) 2008-12-12 2015-01-06 Microsoft Corporation Integrating policies from a plurality of disparate management agents
US8245223B2 (en) 2008-12-23 2012-08-14 Microsoft Corporation Networked deployment of multi-application customizations
US8505078B2 (en) * 2008-12-28 2013-08-06 Qualcomm Incorporated Apparatus and methods for providing authorized device access
US8272030B1 (en) 2009-01-21 2012-09-18 Sprint Communications Company L.P. Dynamic security management for mobile communications device
US8856909B1 (en) 2009-01-23 2014-10-07 Juniper Networks, Inc. IF-MAP provisioning of resources and services
US20120005724A1 (en) 2009-02-09 2012-01-05 Imera Systems, Inc. Method and system for protecting private enterprise resources in a cloud computing environment
US20100228961A1 (en) 2009-03-03 2010-09-09 Erf Wireless, Inc. Hierarchical secure networks
US20100228825A1 (en) 2009-03-06 2010-09-09 Microsoft Corporation Smart meeting room
US20100235216A1 (en) 2009-03-16 2010-09-16 Microsoft Corporation Integration of pre-meeting and post-meeting experience into a meeting lifecycle
CA2692741C (en) 2009-03-31 2014-04-08 Research In Motion Limited Remote application storage
CN101854340B (zh) 2009-04-03 2015-04-01 瞻博网络公司 基于访问控制信息进行的基于行为的通信剖析
MX2011010642A (es) 2009-04-09 2012-03-26 Aegis Mobility Inc Mediacion de datos a base de contexto.
US8666367B2 (en) 2009-05-01 2014-03-04 Apple Inc. Remotely locating and commanding a mobile device
US8660530B2 (en) 2009-05-01 2014-02-25 Apple Inc. Remotely receiving and communicating commands to a mobile device for execution by the mobile device
CA2761170C (en) 2009-05-05 2017-11-28 Absolute Software Corporation Discriminating data protection system
US8695058B2 (en) 2009-05-20 2014-04-08 Mobile Iron, Inc. Selective management of mobile device data in an enterprise environment
US20100299152A1 (en) 2009-05-20 2010-11-25 Mobile Iron, Inc. Selective Management of Mobile Devices in an Enterprise Environment
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9183534B2 (en) 2009-06-12 2015-11-10 Apple Inc. Devices with profile-based operating mode controls
US8254957B2 (en) 2009-06-16 2012-08-28 Intel Corporation Context-based limitation of mobile device operation
US9141412B2 (en) 2009-06-16 2015-09-22 Microsoft Technology Licensing, Llc Terminal services application virtualization for compatibility
US9621516B2 (en) 2009-06-24 2017-04-11 Vmware, Inc. Firewall configured with dynamic membership sets representing machine attributes
US20100332401A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US9386447B2 (en) 2009-07-21 2016-07-05 Scott Ferrill Tibbitts Method and system for controlling a mobile communication device
US8281381B2 (en) 2009-08-03 2012-10-02 Novell, Inc. Techniques for environment single sign on
US8392386B2 (en) 2009-08-05 2013-03-05 International Business Machines Corporation Tracking file contents
JPWO2011018827A1 (ja) 2009-08-13 2013-01-17 株式会社日立製作所 実行環境におけるアプリケーションの適性を評価するシステム及び方法
WO2011026530A1 (en) 2009-09-07 2011-03-10 Tomtom International B.V. Navigation apparatus and method of supporting hands-free voice communication
US8200626B1 (en) 2009-09-18 2012-06-12 Sprint Communications Company L.P. Mobile device file management
US8972878B2 (en) 2009-09-21 2015-03-03 Avaya Inc. Screen icon manipulation by context and frequency of Use
JP4527802B2 (ja) 2009-10-19 2010-08-18 日本電気株式会社 コンピュータシステム
US8850423B2 (en) * 2009-10-29 2014-09-30 International Business Machines Corporation Assisting server migration
US8145199B2 (en) 2009-10-31 2012-03-27 BT Patent LLC Controlling mobile device functions
EP2334034B1 (en) 2009-11-11 2018-06-27 BlackBerry Limited Using a trusted token and push for validating the request for single sign on
US8595284B2 (en) 2009-12-14 2013-11-26 Samsung Electronics Co., Ltd Web application script migration
US8499304B2 (en) 2009-12-15 2013-07-30 At&T Mobility Ii Llc Multiple mode mobile device
US9244533B2 (en) 2009-12-17 2016-01-26 Microsoft Technology Licensing, Llc Camera navigation for presentations
US8495746B2 (en) 2009-12-18 2013-07-23 Verizon Patent And Licensing Inc. Apparatuses, methods and systems of an application security management platform
US8533780B2 (en) 2009-12-22 2013-09-10 Cisco Technology, Inc. Dynamic content-based routing
US20110208797A1 (en) 2010-02-22 2011-08-25 Full Armor Corporation Geolocation-Based Management of Virtual Applications
US8434128B2 (en) * 2010-02-22 2013-04-30 Avaya Inc. Flexible security requirements in an enterprise network
US8468455B2 (en) 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
WO2011109777A1 (en) 2010-03-05 2011-09-09 Brass Monkey, Inc. System and method for two way communication and controlling content in a web browser
US9355282B2 (en) 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US8433901B2 (en) 2010-04-07 2013-04-30 Apple Inc. System and method for wiping encrypted data on a device having file-level content protection
US20110252459A1 (en) 2010-04-12 2011-10-13 Walsh Robert E Multiple Server Access Management
US20110314534A1 (en) 2010-04-14 2011-12-22 Lee James Secured Execution Environments and Methods
US9584624B2 (en) 2010-04-15 2017-02-28 Blackberry Limited Method and system for transmitting an application to a device
US8555377B2 (en) 2010-04-29 2013-10-08 High Cloud Security Secure virtual machine
US8805968B2 (en) 2010-05-03 2014-08-12 Panzura, Inc. Accessing cached data from a peer cloud controller in a distributed filesystem
US8935384B2 (en) 2010-05-06 2015-01-13 Mcafee Inc. Distributed data revocation using data commands
US9282097B2 (en) * 2010-05-07 2016-03-08 Citrix Systems, Inc. Systems and methods for providing single sign on access to enterprise SAAS and cloud hosted applications
US9461996B2 (en) 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
CN102986189B (zh) 2010-05-09 2016-04-27 思杰系统有限公司 用于为对应于虚通道的网络连接分配服务等级的系统和方法
WO2011146711A1 (en) * 2010-05-21 2011-11-24 Hsbc Technologies Inc. Account opening computer system architecture and process for implementing same
JP2011248683A (ja) 2010-05-27 2011-12-08 Canon Inc クラウドコンピューティングシステム、サーバーコンピュータ、デバイス接続方法及びプログラム
US10142292B2 (en) 2010-06-30 2018-11-27 Pulse Secure Llc Dual-mode multi-service VPN network client for mobile device
US8549617B2 (en) 2010-06-30 2013-10-01 Juniper Networks, Inc. Multi-service VPN network client for mobile device having integrated acceleration
US8458787B2 (en) 2010-06-30 2013-06-04 Juniper Networks, Inc. VPN network client for mobile device having dynamically translated user home page
US8127350B2 (en) 2010-06-30 2012-02-28 Juniper Networks, Inc. Multi-service VPN network client for mobile device
US8429674B2 (en) 2010-07-20 2013-04-23 Apple Inc. Maintaining data states upon forced exit
US8474017B2 (en) * 2010-07-23 2013-06-25 Verizon Patent And Licensing Inc. Identity management and single sign-on in a heterogeneous composite service scenario
JP5732767B2 (ja) 2010-07-26 2015-06-10 富士通株式会社 処理装置,処理方法,処理用プログラム,同プログラムを記録したコンピュータ読取可能な記録媒体
US9064131B2 (en) 2010-07-28 2015-06-23 Nextlabs, Inc. Protecting documents using policies and encryption
WO2012015920A2 (en) 2010-07-28 2012-02-02 Admiemobile Llc Systems and methods for establishing and maintaining virtual computing clouds
US8539245B2 (en) 2010-08-06 2013-09-17 Intel Corporation Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
US9936333B2 (en) 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
US8539561B2 (en) 2010-08-24 2013-09-17 International Business Machines Corporation Systems and methods to control device endpoint behavior using personae and policies
US8739157B2 (en) 2010-08-26 2014-05-27 Adobe Systems Incorporated System and method for managing cloud deployment configuration of an application
US9421460B2 (en) 2010-08-31 2016-08-23 Sony Interactive Entertainment Inc. Offline Progress of console game via portable device
US20120066691A1 (en) 2010-09-14 2012-03-15 Paul Keith Branton Private application clipboard
US9582673B2 (en) 2010-09-27 2017-02-28 Microsoft Technology Licensing, Llc Separation of duties checks from entitlement sets
US8958780B2 (en) 2010-10-07 2015-02-17 Blackberry Limited Provisioning based on application and device capability
JP5620781B2 (ja) 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US20120110317A1 (en) 2010-10-29 2012-05-03 Verizon Patent And Licensing Inc. Content download manager
WO2012064870A2 (en) 2010-11-09 2012-05-18 Openpeak Inc. Communication devices, networks, services and accompanying methods
EP2641449B1 (en) 2010-11-15 2020-09-16 BlackBerry Limited Controlling data transfer on mobile devices
US8869307B2 (en) 2010-11-19 2014-10-21 Mobile Iron, Inc. Mobile posture-based policy, remediation and access control for enterprise resources
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
KR20120057734A (ko) 2010-11-22 2012-06-07 삼성전자주식회사 서버, 서버에 접속하는 디바이스 및 그 제어방법
US9219744B2 (en) 2010-12-08 2015-12-22 At&T Intellectual Property I, L.P. Mobile botnet mitigation
US8918834B1 (en) 2010-12-17 2014-12-23 Amazon Technologies, Inc. Creating custom policies in a remote-computing environment
US8650620B2 (en) 2010-12-20 2014-02-11 At&T Intellectual Property I, L.P. Methods and apparatus to control privileges of mobile device applications
AU2011202840B2 (en) 2010-12-21 2014-04-17 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
US9110743B2 (en) 2010-12-21 2015-08-18 Microsoft Technology Licensing, Llc Extensible system action for sharing while remaining in context
AU2011202832B2 (en) 2010-12-21 2013-01-24 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
AU2011202837B2 (en) 2010-12-21 2013-08-22 Lg Electronics Inc. Mobile terminal and method of controlling a mode switching therein
AU2011202838B2 (en) 2010-12-21 2014-04-10 Lg Electronics Inc. Mobile terminal and method of controlling a mode screen display therein
US8856950B2 (en) 2010-12-21 2014-10-07 Lg Electronics Inc. Mobile terminal and method of managing information therein including first operating system acting in first mode and second operating system acting in second mode
US9178981B2 (en) 2010-12-22 2015-11-03 Lg Electronics Inc. Mobile terminal and method of sharing information therein
EP2469404B1 (en) 2010-12-22 2018-04-18 Lg Electronics Inc. Mobile terminal and method of displaying information in accordance with a plurality of modes of use
US8931037B2 (en) 2010-12-27 2015-01-06 Microsoft Corporation Policy-based access to virtualized applications
JP5017462B2 (ja) * 2010-12-27 2012-09-05 株式会社東芝 情報処理装置及びリムーバブルメディア管理方法
US8898487B2 (en) 2010-12-27 2014-11-25 Microsoft Corporation Power management via coordination and selective operation of timer-related tasks
US20120174237A1 (en) 2010-12-31 2012-07-05 Openpeak Inc. Location aware self-locking system and method for a mobile device
US20120179909A1 (en) 2011-01-06 2012-07-12 Pitney Bowes Inc. Systems and methods for providing individual electronic document secure storage, retrieval and use
US9612855B2 (en) * 2011-01-10 2017-04-04 International Business Machines Corporation Virtual machine migration based on the consent by the second virtual machine running of the target host
US9172766B2 (en) 2011-01-10 2015-10-27 Fiberlink Communications Corporation System and method for extending cloud services into the customer premise
US8898793B2 (en) 2011-01-14 2014-11-25 Nokia Corporation Method and apparatus for adjusting context-based factors for selecting a security policy
US20120198570A1 (en) 2011-02-01 2012-08-02 Bank Of America Corporation Geo-Enabled Access Control
US8806569B2 (en) 2011-02-07 2014-08-12 Tufin Software Technologies Ltd. Method and system for analyzing security ruleset by generating a logically equivalent security rule-set
US10003672B2 (en) 2011-02-09 2018-06-19 Cisco Technology, Inc. Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
US8549656B2 (en) 2011-02-11 2013-10-01 Mocana Corporation Securing and managing apps on a device
US20120209949A1 (en) * 2011-02-14 2012-08-16 Alexandros Deliyannis Methods and apparatus to monitor media content
US9544396B2 (en) 2011-02-23 2017-01-10 Lookout, Inc. Remote application installation and control for a mobile device
KR20120096983A (ko) 2011-02-24 2012-09-03 삼성전자주식회사 악성 프로그램 검출 방법 및 이를 구현하는 휴대 단말기
RU2533059C2 (ru) 2011-02-28 2014-11-20 Сименс Энтерпрайз Коммьюникейшнз Гмбх Унд Ко. Кг Устройство и способ для динамического назначения служб обеспечения живучести мобильным устройствам
US20120233130A1 (en) 2011-03-11 2012-09-13 Nagarajan Vedachalam System and method for archiving emails
US20120238206A1 (en) 2011-03-14 2012-09-20 Research In Motion Limited Communications device providing near field communication (nfc) secure element disabling features related methods
US8548443B2 (en) 2011-03-16 2013-10-01 Dell Products L.P. System and method for selectively restricting portable information handling system features
US9119017B2 (en) 2011-03-18 2015-08-25 Zscaler, Inc. Cloud based mobile device security and policy enforcement
US8955142B2 (en) 2011-03-21 2015-02-10 Mocana Corporation Secure execution of unsecured apps on a device
US8769305B2 (en) 2011-03-21 2014-07-01 Moncana Corporation Secure execution of unsecured apps on a device
US8812868B2 (en) 2011-03-21 2014-08-19 Mocana Corporation Secure execution of unsecured apps on a device
US20140006512A1 (en) 2011-03-22 2014-01-02 Telefonaktiebolaget L M Ericsson (Publ) Methods for Exchanging User Profile, Profile Mediator Device, Agents, Computer Programs and Computer Program Products
US20120246191A1 (en) 2011-03-24 2012-09-27 True Xiong World-Wide Video Context Sharing
US20120250106A1 (en) 2011-03-30 2012-10-04 Infosys Technologies Ltd. Method, device and system for updating an application on a mobile device
US20120254768A1 (en) 2011-03-31 2012-10-04 Google Inc. Customizing mobile applications
US8458802B2 (en) 2011-04-02 2013-06-04 Intel Corporation Method and device for managing digital usage rights of documents
WO2012138804A2 (en) * 2011-04-04 2012-10-11 Nextlabs, Inc. Protecting information using policies and encryption
EP2523107B1 (en) 2011-04-19 2018-11-07 LG Electronics Inc. Mobile terminal and system for managing applications using the same
KR20120118819A (ko) 2011-04-19 2012-10-29 엘지전자 주식회사 이동 단말기 및 그것을 이용한 애플리케이션 관리 시스템
US9817677B2 (en) 2011-04-22 2017-11-14 Microsoft Technologies Licensing, LLC Rule based data driven validation
US10187494B2 (en) 2011-04-26 2019-01-22 Acumera, Inc. Gateway device application development system
US9094400B2 (en) 2011-04-27 2015-07-28 International Business Machines Corporation Authentication in virtual private networks
US9072972B2 (en) 2011-04-28 2015-07-07 Numecent Holdings Ltd Application distribution network
US8738772B2 (en) 2011-05-02 2014-05-27 Mitel Networks Corporation Regulating use of a mobile computing device for a user at a selected location
US8683556B2 (en) 2011-05-04 2014-03-25 Apple Inc. Electronic devices having adaptive security profiles and methods for selecting the same
US8839395B2 (en) 2011-05-13 2014-09-16 Cch Incorporated Single sign-on between applications
US9037723B2 (en) 2011-05-31 2015-05-19 Red Hat, Inc. Triggering workload movement based on policy stack having multiple selectable inputs
CN103959302A (zh) 2011-06-01 2014-07-30 安全第一公司 用于安全分布式存储的系统与方法
US8578443B2 (en) 2011-06-01 2013-11-05 Mobileasap, Inc. Real-time mobile application management
KR101978180B1 (ko) 2011-06-09 2019-05-14 삼성전자주식회사 클라이언트 장치에서 어플리케이션의 사용자 경험을 제어하는 방법 및 시스템
US20120324568A1 (en) 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection
US10333711B2 (en) 2011-06-17 2019-06-25 Microsoft Technology Licensing, Llc Controlling access to protected objects
US20120331527A1 (en) 2011-06-22 2012-12-27 TerraWi, Inc. Multi-layer, geolocation-based network resource access and permissions
US8843998B2 (en) 2011-06-27 2014-09-23 Cliqr Technologies, Inc. Apparatus, systems and methods for secure and selective access to services in hybrid public-private infrastructures
KR101801577B1 (ko) 2011-06-28 2017-11-27 엘지전자 주식회사 이동 단말기 및 이것의 디스플레이 제어 방법
KR101819506B1 (ko) 2011-06-28 2018-01-17 엘지전자 주식회사 이동 단말기 및 이것의 디스플레이 제어 방법
WO2013006553A1 (en) 2011-07-01 2013-01-10 Fiberlink Communications Corporation Rules based actions for mobile device management
KR101844289B1 (ko) 2011-07-06 2018-04-02 삼성전자 주식회사 이동통신 시스템에서 위치 정보에 기반한 휴대 단말기의 보안 관리 방법 및 장치
CN103782571A (zh) 2011-07-07 2014-05-07 思科技术公司 用于提供基于消息和事件的视频服务控制平面的系统和方法
US20130014267A1 (en) 2011-07-07 2013-01-10 Farrugia Augustin J Computer protocol generation and obfuscation
US8756665B2 (en) 2011-07-08 2014-06-17 International Business Machines Corporation Authenticating a rich client from within an existing browser session
US8719919B2 (en) 2011-07-12 2014-05-06 Bank Of America Corporation Service mediation framework
US9369307B2 (en) 2011-07-12 2016-06-14 Bank Of America Corporation Optimized service integration
US9015320B2 (en) * 2011-07-12 2015-04-21 Bank Of America Corporation Dynamic provisioning of service requests
US20130024928A1 (en) 2011-07-22 2013-01-24 Robert James Burke Secure network communications for meters
US9424144B2 (en) * 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
US9942385B2 (en) 2011-08-04 2018-04-10 International Business Machines Corporation System and method for preventing and/or limiting use of a mobile device
US9171139B2 (en) 2011-08-05 2015-10-27 Vmware, Inc. Lock screens to access work environments on a personal mobile device
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US8949929B2 (en) 2011-08-10 2015-02-03 Qualcomm Incorporated Method and apparatus for providing a secure virtual environment on a mobile device
US8738868B2 (en) 2011-08-23 2014-05-27 Vmware, Inc. Cooperative memory resource management for virtualized computing devices
KR20130023656A (ko) 2011-08-29 2013-03-08 주식회사 팬택 애플리케이션 접근권한 통제 기능을 갖는 휴대용 다기능 디바이스 및 애플리케이션 접근권한 통제방법
US8898459B2 (en) 2011-08-31 2014-11-25 At&T Intellectual Property I, L.P. Policy configuration for mobile device applications
US20130059284A1 (en) 2011-09-07 2013-03-07 Teegee, Llc Interactive electronic toy and learning device system
DE112012003731T5 (de) 2011-09-09 2014-08-07 Stoneware Inc. Verfahren und Vorrichtung zum Schlüssel-Sharing in Verbindung mit dem Remote Desktop Protocol
US10063430B2 (en) 2011-09-09 2018-08-28 Cloudon Ltd. Systems and methods for workspace interaction with cloud-based applications
US9652738B2 (en) 2011-09-14 2017-05-16 Avaya Inc. System and method for a communication session identifier
US10165007B2 (en) 2011-09-15 2018-12-25 Microsoft Technology Licensing, Llc Securing data usage in computing devices
US8825863B2 (en) * 2011-09-20 2014-09-02 International Business Machines Corporation Virtual machine placement within a server farm
US8554179B2 (en) 2011-09-23 2013-10-08 Blackberry Limited Managing mobile device applications
GB2509646A (en) * 2011-09-30 2014-07-09 Tutela Technologies Ltd A system for regulating wireless device operations in wireless networks
US8806639B2 (en) 2011-09-30 2014-08-12 Avaya Inc. Contextual virtual machines for application quarantine and assessment method and system
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9131147B2 (en) 2011-10-07 2015-09-08 Fuji Xerox Co., Ltd. System and method for detecting and acting on multiple people crowding a small display for information sharing
US8695060B2 (en) 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US8402011B1 (en) 2011-10-10 2013-03-19 Google Inc. System and method for managing user web browsing information
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US8881229B2 (en) 2011-10-11 2014-11-04 Citrix Systems, Inc. Policy-based application management
US20140053234A1 (en) 2011-10-11 2014-02-20 Citrix Systems, Inc. Policy-Based Application Management
US8239918B1 (en) 2011-10-11 2012-08-07 Google Inc. Application marketplace administrative controls
US9143530B2 (en) 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US8971842B2 (en) 2011-10-12 2015-03-03 Verizon Patent And Licensing Inc. Enterprise mobile application store
US20130097660A1 (en) 2011-10-17 2013-04-18 Mcafee, Inc. System and method for whitelisting applications in a mobile network environment
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
US8789179B2 (en) 2011-10-28 2014-07-22 Novell, Inc. Cloud protection techniques
US10291658B2 (en) 2011-11-09 2019-05-14 Microsoft Technology Licensing, Llc Techniques to apply and share remote policies on mobile devices
US8990558B2 (en) 2011-11-09 2015-03-24 Safer Point Ltd Securing information in a cloud computing system
US9106650B2 (en) 2011-11-09 2015-08-11 Microsoft Technology Licensing, Llc User-driven access control
WO2013070126A1 (en) 2011-11-10 2013-05-16 Telefonaktiebolaget L M Ericsson (Publ) Policy controlled preload and consumption of software application
US8688768B2 (en) 2011-11-18 2014-04-01 Ca, Inc. System and method for hand-offs in cloud environments
US8893261B2 (en) 2011-11-22 2014-11-18 Vmware, Inc. Method and system for VPN isolation using network namespaces
US8667579B2 (en) 2011-11-29 2014-03-04 Genband Us Llc Methods, systems, and computer readable media for bridging user authentication, authorization, and access between web-based and telecom domains
US9143943B2 (en) 2011-11-29 2015-09-22 Dell Products L.P. Mode sensitive networking
US20130144934A1 (en) 2011-12-01 2013-06-06 Microsoft Corporation Web Content Targeting Based on Client Application Availability
US9100854B2 (en) 2011-12-06 2015-08-04 T-Mobile Usa, Inc. Quality of service application controller and user equipment application profiler
US8935375B2 (en) 2011-12-12 2015-01-13 Microsoft Corporation Increasing availability of stateful applications
US20130171967A1 (en) 2012-01-04 2013-07-04 Ayman S. Ashour Providing Secure Execution of Mobile Device Workflows
US8863299B2 (en) 2012-01-06 2014-10-14 Mobile Iron, Inc. Secure virtual file management system
US9507630B2 (en) 2012-02-09 2016-11-29 Cisco Technology, Inc. Application context transfer for distributed computing resources
US9037897B2 (en) 2012-02-17 2015-05-19 International Business Machines Corporation Elastic cloud-driven task execution
US8793344B2 (en) * 2012-02-17 2014-07-29 Oracle International Corporation System and method for generating a response plan for a hypothetical event
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US9323563B2 (en) * 2012-02-28 2016-04-26 Red Hat Israel, Ltd. Determining virtual machine migration in view of a migration rule
US9047107B2 (en) * 2012-02-29 2015-06-02 Red Hat, Inc. Applying a custom security type label to multi-tenant applications of a node in a platform-as-a-service environment
US9529993B2 (en) 2012-03-02 2016-12-27 International Business Machines Corporation Policy-driven approach to managing privileged/shared identity in an enterprise
US20130237152A1 (en) 2012-03-09 2013-09-12 Kulveer Taggar Methods and systems for hardware and software related to a near field communications task launcher
US9027076B2 (en) 2012-03-23 2015-05-05 Lockheed Martin Corporation Method and apparatus for context aware mobile security
CA2786095A1 (en) 2012-03-26 2013-09-26 Quickmobile Inc. System and method for a user to dynamically update a mobile application from a generic or first application within a class of applications to create a specific or second application with said class of applications
US20130260730A1 (en) 2012-03-28 2013-10-03 Enterproid Hk Ltd Custom application container for mobile operating systems and/or devices
US9319286B2 (en) 2012-03-30 2016-04-19 Cognizant Business Services Limited Apparatus and methods for managing applications in multi-cloud environments
US20130263208A1 (en) 2012-04-02 2013-10-03 Narsimha Reddy Challa Managing virtual machines in a cloud computing system
US20130268676A1 (en) 2012-04-06 2013-10-10 Telefonaktiebolaget L M Ericsson (Publ) Application programming interface routing system and method of operating the same
US20130283335A1 (en) 2012-04-19 2013-10-24 AppSense, Inc. Systems and methods for applying policy wrappers to computer applications
US9253209B2 (en) 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices
US9112918B2 (en) 2012-04-30 2015-08-18 Verizon Patent And Licensing Inc. Multi-mode user device and network-based control and monitoring
US9626526B2 (en) 2012-04-30 2017-04-18 Ca, Inc. Trusted public infrastructure grid cloud
US20130297604A1 (en) 2012-05-01 2013-11-07 Research In Motion Limited Electronic device and method for classification of communication data objects
US9027125B2 (en) 2012-05-01 2015-05-05 Taasera, Inc. Systems and methods for network flow remediation based on risk correlation
US9405723B2 (en) 2012-05-02 2016-08-02 Kony, Inc. Mobile application management systems and methods thereof
US8990901B2 (en) 2012-05-05 2015-03-24 Citrix Systems, Inc. Systems and methods for network filtering in VPN
US9215553B2 (en) 2012-05-11 2015-12-15 Rowles Holdings, Llc Automatic determination of and reaction to mobile user routine behavior based on geographical and repetitive pattern analysis
US20130311597A1 (en) 2012-05-16 2013-11-21 Apple Inc. Locally backed cloud-based storage
US8849904B2 (en) 2012-05-17 2014-09-30 Cloudflare, Inc. Incorporating web applications into web pages at the network level
US9300570B2 (en) 2012-05-22 2016-03-29 Harris Corporation Multi-tunnel virtual private network
KR101874081B1 (ko) 2012-06-07 2018-07-03 에스케이테크엑스 주식회사 개선된 보안 기능 기반의 클라우드 서비스 시스템 및 이를 지원하는 방법
US20130347130A1 (en) 2012-06-08 2013-12-26 Bluebox Methods and apparatus for dynamically providing modified versions of electronic device applications
US20140007215A1 (en) 2012-06-15 2014-01-02 Lockheed Martin Corporation Mobile applications platform
US9792585B2 (en) 2012-06-21 2017-10-17 Google Inc. Mobile application management
US9240977B2 (en) 2012-07-11 2016-01-19 Netiq Corporation Techniques for protecting mobile applications
US9053304B2 (en) 2012-07-13 2015-06-09 Securekey Technologies Inc. Methods and systems for using derived credentials to authenticate a device across multiple platforms
US9032506B2 (en) 2012-08-09 2015-05-12 Cisco Technology, Inc. Multiple application containerization in a single container
US20140047413A1 (en) 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9087191B2 (en) 2012-08-24 2015-07-21 Vmware, Inc. Method and system for facilitating isolated workspace for applications
US8850434B1 (en) * 2012-09-14 2014-09-30 Adaptive Computing Enterprises, Inc. System and method of constraining auto live migration of virtual machines using group tags
US9507949B2 (en) 2012-09-28 2016-11-29 Intel Corporation Device and methods for management and access of distributed data sources
US9189645B2 (en) 2012-10-12 2015-11-17 Citrix Systems, Inc. Sharing content across applications and devices having multiple operation modes in an orchestration framework for connected devices
US20140109176A1 (en) 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
EP2909715B1 (en) 2012-10-16 2022-12-14 Citrix Systems, Inc. Application wrapping for application management framework
US9355253B2 (en) 2012-10-18 2016-05-31 Broadcom Corporation Set top box architecture with application based security definitions
US8875304B2 (en) 2012-11-08 2014-10-28 International Business Machines Corporation Application and data removal system
US20140149599A1 (en) 2012-11-29 2014-05-29 Ricoh Co., Ltd. Unified Application Programming Interface for Communicating with Devices and Their Clouds
US9326145B2 (en) 2012-12-16 2016-04-26 Aruba Networks, Inc. System and method for application usage controls through policy enforcement
US8910262B2 (en) 2012-12-21 2014-12-09 Cellco Partnership Supporting multiple messaging services on mobile devices in a single user experience
US9535674B2 (en) 2012-12-21 2017-01-03 Bmc Software, Inc. Application wrapping system and method
US9374369B2 (en) 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
US9369449B2 (en) 2013-03-29 2016-06-14 Citrix Systems, Inc. Providing an enterprise application store
US9455886B2 (en) 2013-03-29 2016-09-27 Citrix Systems, Inc. Providing mobile device management functionalities
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
TWI499932B (zh) 2013-07-17 2015-09-11 Ind Tech Res Inst 應用程式管理方法、應用程式管理系統與使用者裝置
US9356895B2 (en) 2014-05-07 2016-05-31 Mitake Information Corporation Message transmission system and method for a structure of a plurality of organizations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883098B1 (en) * 2000-09-20 2005-04-19 International Business Machines Corporation Method and computer system for controlling access by applications to this and other computer systems
CN101305378A (zh) * 2005-11-28 2008-11-12 国际商业机器公司 防止信息非法取得的系统及其方法
CN102591802A (zh) * 2011-01-05 2012-07-18 广州市国迈科技有限公司 一种所存储文件可被打开但不能被复制的u盘

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11861385B2 (en) * 2014-09-08 2024-01-02 Snap One, Llc Method for electronic device virtualization and management

Also Published As

Publication number Publication date
US20140108558A1 (en) 2014-04-17
US20150271296A1 (en) 2015-09-24
US9053340B2 (en) 2015-06-09
WO2014058640A1 (en) 2014-04-17
US20140123265A1 (en) 2014-05-01
US8726343B1 (en) 2014-05-13
US20140108599A1 (en) 2014-04-17
CN104871172A (zh) 2015-08-26
US20140108538A1 (en) 2014-04-17
US9392077B2 (en) 2016-07-12
US20140108486A1 (en) 2014-04-17
US9854063B2 (en) 2017-12-26
US8613070B1 (en) 2013-12-17
US9189645B2 (en) 2015-11-17
US20140108792A1 (en) 2014-04-17
EP2907073A1 (en) 2015-08-19
EP2907073B1 (en) 2020-06-17
US9386120B2 (en) 2016-07-05
US8745755B2 (en) 2014-06-03

Similar Documents

Publication Publication Date Title
CN104871172B (zh) 用于连接的设备的编配框架
CN105308923B (zh) 对具有多操作模式的应用的数据管理
CN104838630B (zh) 基于策略的应用程序管理
CN105359486B (zh) 使用代理安全访问资源
CN105379223B (zh) 管理对企业资源的访问的方法和装置
JP6775603B2 (ja) 仮想ブラウザ統合
CN109558721A (zh) 客户端应用程序的安全单点登录和条件访问
CN104903910B (zh) 控制移动装置对安全数据的访问
CN105378744B (zh) 在企业系统中的用户和设备认证
CN105027107B (zh) 迁移计算资源的计算机实现的方法及计算系统
Zissis et al. Addressing cloud computing security issues
CN106471783B (zh) 经由网关的企业系统认证和授权
CN105308573B (zh) 受管应用中普遍存在的协作
CN109155781A (zh) 对托管应用程序的动态访问
CN110521183A (zh) 基于对等通信的虚拟专用网络
CN105247526A (zh) 提供企业应用商店
CN106031128B (zh) 移动设备管理的方法和装置
CN105247531A (zh) 提供受管浏览器
CN107924431B (zh) 匿名应用程序包装
US11354300B2 (en) Mobile auditable and tamper-resistant digital-system usage tracking and analytics
CN105340239A (zh) 利用环境锁定移动设备

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant