CN107688485B - 用于对虚拟化应用程序的基于策略的访问的方法和系统 - Google Patents

用于对虚拟化应用程序的基于策略的访问的方法和系统 Download PDF

Info

Publication number
CN107688485B
CN107688485B CN201710942563.6A CN201710942563A CN107688485B CN 107688485 B CN107688485 B CN 107688485B CN 201710942563 A CN201710942563 A CN 201710942563A CN 107688485 B CN107688485 B CN 107688485B
Authority
CN
China
Prior art keywords
application
virtualized application
virtualized
execution
policy
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
CN201710942563.6A
Other languages
English (en)
Other versions
CN107688485A (zh
Inventor
C·W·小梅福德
M·C·巴比
A·沙尔东
S·E·斯特恩斯
A·B·安德森
索扎 L·P·德
A·M·安德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107688485A publication Critical patent/CN107688485A/zh
Application granted granted Critical
Publication of CN107688485B publication Critical patent/CN107688485B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/2111Location-sensitive, e.g. geographical location, GPS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Abstract

本申请涉及对虚拟化应用程序的基于策略的访问。当收到执行虚拟化应用程序的请求时,应用程序虚拟化客户端组件评价执行策略以确定该应用程序是否可被执行。若应用程序虚拟化客户端组件基于执行策略确定该虚拟化应用程序可以执行,则应用程序虚拟化客户端组件公布该虚拟化应用程序。应用程序虚拟化客户端组件在应用程序已安装时通过使该虚拟化应用程序可供执行来公布应用程序且在应用程序未安装时通过安装该虚拟化应用程序来公布应用程序。应用程序虚拟化客户端组件还在虚拟化应用程序执行期间评价执行策略。若应用程序虚拟化客户端组件确定不再满足执行策略,则应用程序虚拟化客户端组件取消公布虚拟化应用程序,由此阻止该虚拟化应用程序的执行。

Description

用于对虚拟化应用程序的基于策略的访问的方法和系统
本发明专利申请是申请日为2011年12月26日、申请号为201110443200.0、名称为“对虚拟化应用程序的基于策略的访问”的发明专利申请的分案申请。
技术领域
本申请涉及对虚拟化应用程序的访问,特别是对虚拟化应用程序的基于策略的访问。
背景技术
企业、政府机构、以及其他类型的实体通常限制对某些类型的机密或敏感信息的访问。限制对诸如物理文档之类的物理信息的访问可以通过使用标准访问限制来很容易地实现。限制对例如存储在服务器计算机上的文档之类的数字信息的访问也可以通过使用诸如访问控制列表之类的标准安全措施来相对容易地实现。
限制对计算机应用程序(“应用程序”)的使用可能要比限制对物理项目的访问难得多,特别是在必须以某种方式对另外被授权使用该应用程序的用户进行限制时尤其如此。对于向雇员发放诸如膝上型计算机、平板电脑、和智能电话之类的便携式计算设备的组织而言尤其是这样。因为雇员可以持续地访问发放给他们的计算设备,所以很难限制对这些计算设备上所安装的应用程序的使用。
此处所做出的本公开正是关于这些和其他考虑事项而提出的。
发明内容
本文描述了用于对虚拟化应用程序的基于策略的访问的技术。通过本文在此呈现的概念和技术的实现,可提供能够根据执行策略来限制虚拟化应用程序的执行的应用程序虚拟化环境。该执行策略可以由管理员来设置,并且定义可以或不可以执行虚拟化应用程序的条件。以此方式,应用程序的执行可以基于各种条件来限制,诸如在其上执行应用程序的设备的地理位置、使用该应用程序的一天中的时刻或持续时间、某些计算资源对于该设备的可用性、或其他条件。
可结合应用程序虚拟化环境来实现本文公开的实施例。具体地,应用程序虚拟化客户端组件被配置为提供用于执行虚拟化应用程序的环境。应用程序虚拟化客户端组件还提供用于使虚拟化应用程序与底层操作系统、其他应用程序和系统资源分开地被封装起来的功能。应用程序虚拟化客户端组件还可通过从应用程序虚拟化服务器组件流传送虚拟化应用程序的所需部分来提供加载虚拟化应用程序的这些部分的功能。
根据另一方面,应用程序虚拟化客户端组件被配置为提供对虚拟化应用程序的基于策略的访问。具体而言,当接收到执行虚拟化应用程序的请求时,应用程序虚拟化客户端组件评价执行策略以确定该应用程序是否可被执行。如上文简单讨论的,该执行策略可以由管理员来设置,并且定义可以或不可以执行虚拟化应用程序的条件。例如,执行策略可规定只有在执行虚拟化应用程序的设备处在指定地理区域时才可执行该虚拟化应用程序、应用程序仅可在一天的指定时刻(例如,9a.m.至5p.m.)执行、每天仅可执行指定的持续时间(例如,每天一个小时)、或者只有在某些计算资源不受限制时才可执行应用程序。
若应用程序虚拟化客户端组件基于执行策略确定该虚拟化应用程序可以执行,则应用程序虚拟化客户端组件将公布该虚拟化应用程序。如在此所使用的,术语“公布”意指使虚拟化应用程序可供执行之用。例如,在一个实施例中,应用程序虚拟化客户端组件通过确定虚拟化应用程序是否被安装并且若已安装则使虚拟化应用程序可供执行来公布虚拟化应用程序。若虚拟化应用程序未安装则应用程序虚拟化客户端组件可使虚拟化应用程序被流传送至该设备以供执行。
根据另一方面,应用程序虚拟化客户端组件在虚拟化应用程序的执行期间周期性地或不断地评价执行策略。若应用程序虚拟化客户端组件确定不再满足执行策略,则应用程序虚拟化客户端组件取消公布虚拟化应用程序。例如,应用程序虚拟化客户端组件可停止虚拟化应用程序的执行并使应用程序不可用于执行。应用程序虚拟化客户端组件还可将虚拟化应用程序从在其上执行该虚拟化应用程序的客户端设备移除。
根据另一方面,若不能评价执行策略则应用程序虚拟化客户端组件也取消公布虚拟化应用程序。例如,若执行策略要求只有在特定地理区域内才可执行应用程序而执行该应用程序的设备所处的地理区域无法确定则可以取消公布该虚拟化应用程序。应用程序虚拟化客户端组件还可存储关于虚拟化应用程序的不允许访问、取消公布应用程序的条件、以及对应用程序虚拟化环境的管理员可能有帮助的其他信息的审核数据。
本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图说明
图1是示出用于此处公开的各个实施例的一个说明性操作环境的软件和网络体系结构图;
图2A-2B是根据此处提供的一个实施例示出此处所公开的用于对虚拟化应用程序的基于策略的访问的一个说明性处理的诸方面的流程图;以及
图3是示出用于能够实现本文所提出的各种实施例的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
具体实施方式
下面的详细描述涉及用于对虚拟化应用程序的基于策略的访问的技术。如上文简短讨论的,提供了应用程序虚拟化环境,其被配置成基于执行策略对虚拟化应用程序的执行实施限制。具体而言,当收到执行虚拟化应用程序的请求时,应用程序虚拟化客户端组件评价执行策略以确定该应用程序是否可被公布和执行。若应用程序虚拟化客户端组件基于执行策略确定该虚拟化应用程序可以执行,则应用程序虚拟化客户端组件公布并执行该虚拟化应用程序。
应用程序虚拟化客户端组件在应用程序已安装时通过使该虚拟化应用程序可供执行来公布应用程序且当应用程序未安装时通过安装该虚拟化应用程序来公布应用程序。应用程序虚拟化客户端组件还在虚拟化应用程序执行期间评价执行策略。若应用程序虚拟化客户端组件确定不再满足执行策略,则应用程序虚拟化客户端组件取消公布虚拟化应用程序,由此阻止该虚拟化应用程序的执行。关于这些和其他特征的附加细节将在以下提供。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中呈现了本文描述的主题,但是本领域技术人员将认识到,其它实现可以结合其它类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域技术人员将明白,可以利用其它计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在下面的详细描述中,将参考构成本发明的一部分的附图,并且在附图中作为说明示出了各具体实施例或示例。现在参考附图(全部若干附图中相同的标号表示相同的元素),将描述用于对虚拟化应用程序的基于策略的访问的计算系统和方法的各方面。
图1是示出用于此处公开的各个实施例的一个说明性操作环境100的软件和网络体系结构图。图1中所示的说明性操作环境100包括被配置为通过网络106与服务器104通信的客户端设备102。客户端设备102是被配置为执行操作系统108A和应用程序虚拟化客户端组件110的计算设备。客户端设备102可以是标准台式或膝上型计算机、平板电脑、智能手机或能执行此处呈现的用于对虚拟化应用程序的基于策略的访问的操作的任何其他类型的计算设备。客户端设备102还可以是被配置为提供此处公开的功能性的服务器计算机。
服务器104是被配置为执行操作系统108B和应用程序虚拟化服务器组件116的计算系统。应该理解的是服务器104可以是被配置为执行应用程序虚拟化服务器组件110的服务器计算机或者可包括被配置为执行如由服务器104所执行的此处描述的的功能性的另一种类型的计算机系统。
图1中所示的网络106包括广域网或局域网。例如,网络106可以是公司局域网、诸如因特网之类的广域网、或者多个广域网和局域网的组合。应该理解的是尽管图1中示出了单个网络106,但是可使用很多其他网络。还应该理解的是尽管图1中示出了单个客户端设备102和服务器104,此处公开的诸实施例可使用很多这样的设备。
如上所简要讨论的,客户端设备102被配置为执行应用程序虚拟化客户端组件110。应用程序虚拟化客户端组件110是被配置为提供应用虚拟化环境的软件组件。在这个意义上,应用程序虚拟化客户端组件110被配置为执行虚拟化应用程序112。应用程序虚拟化客户端组件110提供使虚拟化应用程序112的执行与操作系统108A分开地被封装起来的功能。应用程序虚拟化客户端组件110还可提供使虚拟化应用程序112的执行与客户端设备102的其他应用程序和系统资源分开地被封装起来的功能。例如,应用程序虚拟化客户端组件110可将操作系统108A或客户端设备102的资源虚拟化。当虚拟化应用程序112尝试访问物理资源的时候,应用程序虚拟化客户端组件110将虚拟化资源呈现给应用程序112。以此方式,可以通过不对操作系统108A或客户端设备102所暴露的实际资源产生影响的方式执行虚拟化应用程序112。
根据其他方面,应用程序虚拟化客户端组件110还提供按需加载虚拟化应用程序112的部分的功能。具体地,应用程序虚拟化客户端组件110可与应用程序虚拟化服务器组件116协同操作,以将虚拟化应用程序112的所需要的部分从服务器104流传送至客户端设备102。以此方式,可在客户端设备102处按需访问虚拟化应用程序112。此外,由于可以仅仅将虚拟化应用程序112的所需部分从服务器104流传送至客户端设备102,所以可提供对虚拟化应用程序112的访问而不需要将整个应用程序112从服务器104流传送至客户端设备102。
有关应用程序虚拟化客户端组件110所提供的用于封装虚拟化应用程序112的执行以及用于将虚拟化应用程序112从服务器104流传送至客户端设备102的功能性的附加细节可在2007年5月29日提交的名为“Systems and Methods for Delivering Content overa Computer Network(用于在计算机网络上递送内容的系统与方法)”的美国专利号为7,225,264的申请、在2007年4月3日提交的名为“Method and System for Serving SoftwareApplications to Client Computers(用于向客户端计算机供应软件应用程序的方法与系统)”的美国专利号为7,200,632的申请、在2008年11月11日提交的、名为“OperatingSystem Abstraction and Protection Layer(操作系统抽象与保护层)”的美国专利号为7,451,451的申请、以及在2010年9月14日提交的名为“Serving Software Applicationsfrom Servers for Client Computers(从服务器为客户端计算机供应软件应用程序)”的美国专利号为7,797,372的申请中找到,上述每个专利通过引用整体包含到本文。
应用程序虚拟化客户端组件110还被配置为提供对虚拟化应用程序112的基于策略的访问。在这个意义上,服务器104和客户端设备102可存储执行策略114。执行策略114定义可以或不可以执行虚拟化应用程序112的条件。例如,执行策略114可规定只有在客户端设备102处在特定地理区域内时才可执行虚拟化应用程序112。替换或组合地,执行策略114还可规定只有在一天的指定时间或每天的指定持续时间期间才可执行虚拟化应用程序112。
作为另一示例,执行策略114可规定只有在客户端设备102的某些计算资源不受限制时才可执行虚拟化应用程序112。例如,若客户端设备112没有一定量的中央处理单元或网络带宽可用,则执行策略114可规定不能执行虚拟化应用程序112。应该可以领会,执行策略114可以规定基于物理位置、时间、或其他因素的其他限制。还应领会,客户端设备102或服务器104的管理员可以设置执行策略114。
当在客户端设备102处收到执行虚拟化应用程序112的请求时,应用程序虚拟化客户端组件110被配置为评价执行策略114以确定是否可以执行应用程序112。为了评价执行策略114,应用程序虚拟化客户端组件110可与其他组件协作以获得评价执行策略114所需的数据。例如,应用程序虚拟化客户端组件110可与能够确定客户端设备102的物理位置的软件或硬件组件协同操作。
用于标识客户端设备102的位置的说明性技术包括蜂窝三角测量、全球定位系统(“GPS”)位置、A-GPS位置、基于无线信号强度的位置、基于有线信号强度的位置、基于网际协议地址的位置确定等等。应用程序虚拟化客户端组件110还可协同其他类型的组件操作以获得评价执行策略114所需的数据。如将在下文更详细地描述的,若应用程序虚拟化客户端组件110不能获得评价执行策略114所需的数据,则可禁止虚拟化应用程序112的执行。
应该领会,根据诸实施例,执行策略114的评价可以发生在客户端设备102、服务器104、或客户端设备102和服务器104的组合上。例如,在一种实现中,应用程序虚拟化客户端组件110被配置为请求应用程序虚拟化服务器组件116对执行策略114进行评价。若应用程序虚拟化服务器组件116不可用,则应用程序虚拟化客户端组件110可在客户端设备102上评价执行策略114。替换地,若没有应用程序虚拟化服务器组件116可供用于评价执行策略114,则应用程序虚拟化客户端组件110可禁止虚拟化应用程序112的执行。替换地,应用程序虚拟化客户端组件110可被配置为在没有来自服务器104的任何辅助的情况下在客户端设备102上评价执行策略114。
若应用程序虚拟化客户端组件110基于执行策略114确定虚拟化应用程序112可以执行,则应用程序虚拟化客户端组件110将公布虚拟化应用程序112以供使用。如上文简短地描述的,术语“公布”意指使虚拟化应用程序112可供在客户端设备102上作执行之用。例如,在一个实施例中,应用程序虚拟化客户端组件110通过确定虚拟化应用程序112是否被安装在客户端设备102上来公布虚拟化应用程序112。若虚拟化应用程序112被安装在客户端设备102上,则应用程序虚拟化客户端组件110使得虚拟化应用程序112可供执行。若虚拟化应用程序112未安装在客户端设备102上,则应用程序虚拟化客户端组件110可使虚拟化应用程序112从服务器104流传送至客户端设备102以用于执行。
应用程序虚拟化客户端组件110还被配置为在虚拟化应用程序112的执行期间评价执行策略114。例如,应用程序虚拟化客户端组件110可周期性地或不断地评价执行策略114以确保执行策略114是得到满足的。若应用程序虚拟化客户端组件110确定不再满足执行策略114,则应用程序虚拟化客户端组件110取消公布虚拟化应用程序112。例如,应用程序虚拟化客户端组件110可停止虚拟化应用程序112的执行并使应用程序112不可用于执行。应用程序虚拟化客户端组件110还可从客户端设备102上移除虚拟化应用程序112。若之后再次满足执行策略114,应用程序虚拟化客户端组件110可通过从服务器104向客户端设备102流传送虚拟化应用程序112重新公布虚拟化应用程序112。
如上文简短讨论的,若不能评价执行策略114则应用程序虚拟化客户端组件110也取消公布虚拟化应用程序112。例如,若执行策略114要求仅在特定地理区域内执行应用程序112但应用程序虚拟化客户端组件110不能确定该地理区域则也可取消公布虚拟化应用程序112。若客户端设备102之后返回到准许执行应用程序112的地理区域,则应用程序虚拟化客户端组件110可重新公布应用程序112以供执行。
根据其他方面,应用程序虚拟化客户端组件110被配置为存储供服务器104和客户端设备102的管理员使用的审核数据。例如,审核数据可包括标识虚拟化应用程序112的不允许的访问的数据、应用程序虚拟化客户端组件110取消公布应用程序112的条件、以及对组件110和116所提供的应用程序虚拟化环境的管理员有可能有帮助的其他信息。关于应用程序虚拟化客户端组件110、客户端设备102、和服务器104的操作的附加细节将在下文参照图2A-2B来提供。
图2A-2B是示出说明此处公开的用于对虚拟化应用程序的基于策略的访问的一个说明性过程的各方面的例程200的流程图。应当理解,参考图2A-2B以及其它附图所描述的逻辑操作被实现为(1)计算机实现的动作的序列或运行于计算系统上的程序模块,和/或(2)计算系统内的互连机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,可以选择不同的实现。因此,此处所描述的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑,及其任何组合来实现。还应该明白,可以执行比附图中示出并在此处描述的操作更多或更少的操作。这些操作还可以按与此处所描述的不同的次序来执行。
例程200在操作202处开始,此处应用程序虚拟化客户端组件110确定是否已经接收到执行虚拟化应用程序112的请求。例如,客户端设备102的用户可作出执行应用程序112的请求。若还未收到这样的请求,则例程200回到操作202,在此处进行另一次这样的判定。如果应用程序虚拟化客户端组件110确定已经接收到执行虚拟化应用程序112的请求,例程200从操作202行进至操作204。
在操作204,应用程序虚拟化客户端组件110尝试评价执行策略114。如上文所讨论地,应用程序虚拟化客户端组件110可利用其他组件提供的功能性来获得评价执行策略114所需的数据。例如,应用程序虚拟化客户端组件110可获得标识客户端设备102的地理位置、一天中的时刻、或评价执行策略114所需的其他信息的数据。例程200从操作204行进至操作206。
在操作206,应用程序虚拟化客户端组件110确定是否能够评价执行策略114。例如,如果诸如客户端设备102的地理位置之类的数据不可用,则应用程序虚拟化客户端组件110可能不能评价执行策略114。在其他实施例中,如果不能进行对服务器104的网络连接,则应用程序虚拟化客户端组件110也可能不能评价执行策略114。其他类型的因素也可能阻碍应用程序虚拟化客户端组件110评价执行策略114。
若不能评价执行策略114,则例程200从操作206行进至操作208。在操作208,应用程序虚拟化客户端组件110拒绝执行虚拟化应用程序112的请求。另外,如上讨论地,应用程序虚拟化客户端组件110可以存储关于虚拟化应用程序112的不允许访问的审核数据以及对应用程序虚拟化环境的管理员可能有帮助的其他信息。例程200从操作208行进至上文描述的操作202,在此处可以处理执行应用程序112的另一请求。
若执行策略114经过了应用程序虚拟化客户端组件110的评价,则例程200从操作206行进至操作210。在操作210做出关于是否满足执行策略114的确定。若不满足执行策略114,则例程200从操作210行进至操作208,在此处拒绝执行虚拟化应用程序112的请求。另外,如上所述,还可以存储审核数据。
若满足了执行策略114,则例程200行进至操作212,在此处应用程序虚拟化客户端组件110公布虚拟化应用程序112。如上文讨论的,为了公布应用程序112,应用程序虚拟化客户端组件110可确定应用程序112是否安装在客户端设备102上。若安装了应用程序112,则应用程序虚拟化客户端组件110可使虚拟化应用程序可供在客户端设备102上执行之用。若虚拟化应用程序112未安装在客户端设备102上,则应用程序虚拟化客户端组件110可使虚拟化应用程序112从服务器104流传送至客户端设备102以用于执行。一旦应用程序112已经被公布,例程200从操作212前进到操作214。
根据一个实现,应用程序虚拟化客户端组件110可被配置成每次取消公布应用程序112时存储虚拟化应用程序112的状态。例如,每次取消公布应用程序112,应用程序虚拟化客户端组件110可存储存储器、寄存器的内容、以及描述客户端设备102的资源的状态的数据。在此实现中,应用程序虚拟化客户端组件110可被配置成每次重新公布应用程序112时恢复虚拟化应用程序112先前保存的状态。例如,在例程200的操作214,应用程序虚拟化客户端组件110恢复虚拟化应用程序112先前保存的状态。以此方式,可在重新公布之际向客户端设备102的用户呈现与取消公布应用程序112时处于相同状态的虚拟化应用程序112。
从操作214,例程200行进至操作216,此处应用程序虚拟化客户端组件110使虚拟化应用程序112被执行。如上文讨论的,应用程序虚拟化客户端组件110提供用于使虚拟化应用程序112的执行与操作系统108、其他应用程序、以及系统资源分开地被封装的功能性。例程200从操作216行进至操作218。
在操作218,应用程序虚拟化客户端组件110在虚拟化应用程序112的执行期间尝试评价执行策略114。以此方式,即使在虚拟化应用程序112正在执行,应用程序虚拟化客户端组件110也能实施执行策略114所施加的限制。
从操作218,例程200行进至操作220,此处应用程序虚拟化客户端组件110确定是否能够评价执行策略114。例如,如上文讨论的,若无所需数据或不能建立至服务器104的连接,则应用程序虚拟化客户端组件110可能不能评价执行策略114。
若能够评价执行策略114,则例程200从操作220行进至操作222。在操作222,应用程序虚拟化客户端组件110确定是否满足执行策略114。若能够满足,则例程200从操作222行进至上文描述的操作216,在此处继续虚拟化应用程序112的执行。若不满足执行策略114,则例程200从操作222行进至操作224。另外,若应用程序虚拟化客户端组件110不能评价执行策略114则例程200从操作220行进至操作224。
在操作224,应用程序虚拟化客户端组件110存储虚拟化应用程序112的状态。如上文讨论的,应用程序虚拟化客户端组件110可存储存储器内容、寄存器内容、以及用于使虚拟化应用程序112在重新公布后返回至其当前状态所需的其他信息。一旦已经存储了虚拟化应用程序112的状态,例程200行进至操作226。
在操作226,应用程序虚拟化客户端组件110取消公布虚拟化应用程序112。如上文简短讨论的,应用程序虚拟化客户端组件110可通过使应用程序112不能供在客户端设备102上执行之用来取消公布虚拟化应用程序112。应用程序虚拟化客户端组件110还可从客户端设备102上移除虚拟化应用程序112及其状态。在下一次执行虚拟化应用程序112时可从服务器104向客户端设备102流传送虚拟化应用程序112。
应用程序虚拟化客户端组件110还可在操作226存储关于应用程序112的不允许访问、取消公布应用程序112的条件、以及对客户端设备102和服务器104的管理员可能有帮助的其他信息的审核数据。例程200从操作226行进至上述操作202,在此处按照上述方式处理对应用程序112的另外请求。
图3是示出用于能够实现本文所提出的各种实施例的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。图3示出的计算机体系结构说明了传统台式计算机、膝上计算机,或服务器计算机,并可被用来执行此处描述的各种软件组件。
图3所示的计算机体系结构包括中央处理单元302(“CPU”)、包括随机存取存储器314(“RAM”)和只读存储器(“ROM”)316的系统存储器、以及将存储器耦合至CPU 302的系统总线。包含诸如在启动时有助于在计算机300内的元件之间传输信息的基本例程的基本输入/输出系统(“BIOS”)被存储在ROM 316中。计算机300还包括用于存储操作系统318、应用程序和其他程序模块的大容量存储设备310,这将在以下更为详细地描述。
大容量存储设备310通过连接至总线的大容量存储控制器(未示出)连接到CPU302。大容量存储设备310及其相关联的计算机可读存储介质为计算机300提供非易失性的存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器等大容量存储设备,但本领域的技术人员应当理解,计算机可读介质可以是可由计算机300访问的任何可用计算机存储介质。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读存储介质包括,但并不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光或其他光学存储,磁带盒、磁带、磁盘存储器或其他磁存储设备,或可以用来存储所需信息并可由计算机300访问的任何其他非瞬态介质。
可以理解,此处的计算机可读介质也包括通信介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”是指其一个或多个特征以在信号中对信息进行编码的方式来设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。计算机可读存储介质不包括通信介质。
根据各实施例,计算机300可以使用通过诸如网络320之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机300可以通过连接至总线的网络接口单元306来连接到网络320。应当理解,网络接口单元306还可以被用来连接到其他类型的网络和远程计算机系统。计算机300还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器312,这些设备包括键盘、鼠标或者电子指示笔(未在图3中示出)。类似地,输入/输出控制器可以提供至显示屏、打印机或其他类型的输出设备(也未在图3中示出)的输出。
如前简述的那样,多个程序模块和数据文件可以存储在计算机300的大容量存储设备310和RAM 314内,包括适于控制联网的台式、膝上型或服务器计算机的操作的操作系统318。大容量存储设备310和RAM 314还可以存储一个或多个程序模块。具体而言,大容量存储设备310和RAM 314可存储虚拟化应用程序112、应用程序虚拟化客户端组件110、和/或上述的其他软件组件。大容量存储设备310和RAM 314还可存储其他程序模块和数据,诸如执行策略114。
一般而言,软件应用或模块在加载到CPU 302中并执行时,可将CPU 302和整个计算机300从通用计算系统转换成被定制成执行此处所呈现功能的专用计算系统。CPU 302可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地说,CPU 302可以响应软件或模块内包含的可执行的指令,作为一个或多个有限状态机来操作。这些计算机可执行的指令可以通过指定CPU 302如何在多个状态之间转换来转换CPU 302,从而在物理上转换构成CPU 302的晶体管或其他分立的硬件元件。
通过将软件或模块编码到大容量存储设备上,还可转换大容量存储设备或相关联的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这些因素的示例包括但不限于:用来实现计算机可读存储介质、计算机可读存储介质是否被表征为主存储还是次级存储等技术。例如,如果计算机可读取的存储介质是作为基于半导体的存储器实现的,则当软件被编码到其中时,软件或模块可以转换半导体存储器的物理状态。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立的电路元件的状态。
作为另一个示例,计算机可读存储介质可以使用磁性或光学技术来实现。在这样的实现方式中,当软件被编码到其中时,软件或模块可以转换磁性或光学介质的物理状态。这些转换可以包括改变给定磁性介质内的特定位置的磁性。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他转换也是可以的,前面提供的示例只是为了便于此讨论。
基于前述内容,应当理解,在此已经提出了用于对虚拟化应用程序的基于策略的访问的技术。虽然以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明不一定仅限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。

Claims (8)

1.一种用于对虚拟化应用程序的基于策略的访问的方法,所述方法包括:
接收在设备上执行虚拟化应用程序(112)的请求;
响应于接收所述请求,尝试评价所述虚拟化应用程序(112)的执行策略(114)以确定是否可以在所述设备上执行所述虚拟化应用程序(112);
确定是否能够评价所述执行策略;
响应于确定不能评价所述执行策略而取消公布所述虚拟化应用程序,其中取消公布所述虚拟化应用程序包括存储所述虚拟化应用程序的状态以在每次重新公布所述虚拟化应用程序时恢复所述虚拟化应用程序先前保存的状态;
响应于确定能够评价所述执行策略以及基于所述执行策略可以执行所述虚拟化应用程序(112)而公布所述虚拟化应用程序(112);
在所述虚拟化应用程序执行期间评价所述执行策略;以及
响应于确定不再满足执行策略而取消公布虚拟化应用程序以阻止所述虚拟化应用程序的执行。
2.如权利要求1所述的方法,其特征在于,所述执行策略规定只有在执行所述虚拟化应用程序的设备位于指定地理位置时才可执行所述虚拟化应用程序。
3.如权利要求1所述的方法,其特征在于,所述执行策略规定只有在指定时间段期间才可执行所述虚拟化应用程序。
4.如权利要求1所述的方法,其特征在于,所述执行策略规定所述虚拟化应用程序仅可执行指定的持续时间。
5.如权利要求1所述的方法,其特征在于,所述执行策略规定只有在执行所述虚拟化应用程序的设备所用的计算资源不受限制时才可执行所述虚拟化应用程序。
6.如权利要求1所述的方法,其特征在于,公布所述虚拟化应用程序包括:
确定所述虚拟化应用程序是否安装在设备上;
若所述虚拟化应用程序安装在所述设备上则使所述虚拟化应用程序可供执行;以及
若所述虚拟化应用程序未安装在所述设备上则向所述设备流传送所述虚拟化应用程序。
7.一种用于对虚拟化应用程序的基于策略的访问的系统,所述系统包括:
用于接收在设备上执行虚拟化应用程序(112)的请求的装置;
用于响应于接收所述请求,尝试评价所述虚拟化应用程序(112)的执行策略(114)以确定是否可以在所述设备上执行所述虚拟化应用程序(112)的装置;
用于确定是否能够评价所述执行策略的装置;
用于响应于确定不能评价所述执行策略而取消公布所述虚拟化应用程序的装置,其中用于取消公布所述虚拟化应用程序的装置包括用于存储所述虚拟化应用程序的状态以在每次重新公布所述虚拟化应用程序时恢复所述虚拟化应用程序先前保存的状态的装置;
用于响应于确定能够评价所述执行策略以及基于所述执行策略可以执行所述虚拟化应用程序(112)而公布所述虚拟化应用程序(112)的装置;
用于在所述虚拟化应用程序执行期间评价所述执行策略的装置;以及
用于响应于确定不再满足执行策略而取消公布虚拟化应用程序以阻止所述虚拟化应用程序的执行的装置。
8.如权利要求7所述的系统,其特征在于,还包括:
用于在所述虚拟化应用程序的执行期间评价所述执行策略以确定是否可继续执行所述虚拟化应用程序的装置;以及
用于响应于确定不可以继续执行所述虚拟化应用程序而取消公布所述虚拟化应用程序的装置。
CN201710942563.6A 2010-12-27 2011-12-26 用于对虚拟化应用程序的基于策略的访问的方法和系统 Active CN107688485B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/978,655 US8931037B2 (en) 2010-12-27 2010-12-27 Policy-based access to virtualized applications
US12/978,655 2010-12-27
CN2011104432000A CN102591701A (zh) 2010-12-27 2011-12-26 对虚拟化应用程序的基于策略的访问

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2011104432000A Division CN102591701A (zh) 2010-12-27 2011-12-26 对虚拟化应用程序的基于策略的访问

Publications (2)

Publication Number Publication Date
CN107688485A CN107688485A (zh) 2018-02-13
CN107688485B true CN107688485B (zh) 2021-08-24

Family

ID=46318678

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2011104432000A Pending CN102591701A (zh) 2010-12-27 2011-12-26 对虚拟化应用程序的基于策略的访问
CN201710942563.6A Active CN107688485B (zh) 2010-12-27 2011-12-26 用于对虚拟化应用程序的基于策略的访问的方法和系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2011104432000A Pending CN102591701A (zh) 2010-12-27 2011-12-26 对虚拟化应用程序的基于策略的访问

Country Status (6)

Country Link
US (1) US8931037B2 (zh)
EP (1) EP2659422B1 (zh)
JP (1) JP5960164B2 (zh)
CN (2) CN102591701A (zh)
TW (1) TWI566176B (zh)
WO (1) WO2012092113A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529996B2 (en) 2011-10-11 2016-12-27 Citrix Systems, Inc. Controlling mobile device access to enterprise resources
US9043480B2 (en) * 2011-10-11 2015-05-26 Citrix Systems, Inc. Policy-based application management
US9215225B2 (en) 2013-03-29 2015-12-15 Citrix Systems, Inc. Mobile device locking with context
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US20140032733A1 (en) 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
KR102116679B1 (ko) 2012-03-05 2020-05-29 엘지전자 주식회사 영상 표시 장치 및 그 동작 방법
US8745755B2 (en) 2012-10-12 2014-06-03 Citrix Systems, Inc. Controlling device access to enterprise resources 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
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
US20140109072A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Application wrapping for application management framework
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
US8849978B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing an enterprise application store
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US8849979B1 (en) 2013-03-29 2014-09-30 Citrix Systems, Inc. Providing mobile device management functionalities
US9705801B2 (en) * 2013-10-07 2017-07-11 Facebook, Inc. Systems and methods for mapping and routing based on clustering
CN105227523B (zh) * 2014-06-10 2021-09-28 中兴通讯股份有限公司 虚拟化应用提供、访问方法与装置及实现方法与系统
US10614211B2 (en) * 2017-03-22 2020-04-07 Ca, Inc. Bringing a non-isolated application into an isolation layer with an isolated application
US11048390B2 (en) * 2018-06-25 2021-06-29 MI Technical Solutions, Inc. Auto-reformatting of home screen graphical user interface depicting only administrator-approved applications
JP7309533B2 (ja) * 2019-09-06 2023-07-18 株式会社日立製作所 モデル改善支援システム
US11853782B2 (en) * 2020-12-09 2023-12-26 Dell Products L.P. Method and system for composing systems using resource sets

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447937A (zh) * 2000-08-14 2003-10-08 国际商业机器公司 从因特网访问传统应用程序
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN101611613A (zh) * 2007-02-26 2009-12-23 索尼爱立信移动通讯有限公司 基于位置和公司服务等级约定来限制电子设备功能的使用

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7225264B2 (en) 1998-11-16 2007-05-29 Softricity, Inc. Systems and methods for delivering content over a computer network
US6763370B1 (en) 1998-11-16 2004-07-13 Softricity, Inc. Method and apparatus for content protection in a secure content delivery system
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US7200632B1 (en) 1999-04-12 2007-04-03 Softricity, Inc. Method and system for serving software applications to client computers
US6938096B1 (en) 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US7730169B1 (en) 1999-04-12 2010-06-01 Softricity, Inc. Business method and system for serving third party software applications
US6678824B1 (en) 1999-11-02 2004-01-13 Agere Systems Inc. Application usage time limiter
US7028305B2 (en) 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
US20030069692A1 (en) 2001-10-10 2003-04-10 Krasner Norman F. Methods and apparatuses for controlling distribution of location information
US7328259B2 (en) 2002-11-08 2008-02-05 Symantec Operating Corporation Systems and methods for policy-based application management
US20050080898A1 (en) 2003-10-08 2005-04-14 Block Jerald J. System and method for managing computer usage
US7590743B2 (en) 2003-12-23 2009-09-15 Softricity, Inc. Method and system for associating a process on a multi-user device with a host address unique to a user session associated with the process
JP4379223B2 (ja) * 2004-06-18 2009-12-09 日本電気株式会社 動作モデル作成システム、動作モデル作成方法および動作モデル作成プログラム
JP5128944B2 (ja) 2004-07-20 2013-01-23 マイクロソフト コーポレーション コンピュータアプリケーションにおけるデータ損失を最小限にする方法およびシステム
EP1674961A1 (en) * 2004-12-21 2006-06-28 International Business Machines Corporation Method for determining an applicable policy for an incoming message
JP2009512939A (ja) * 2005-10-21 2009-03-26 ヴァー2アス インコーポレイテッド 複数のオペレーティングシステムのインスタンスが単一のマシン資源を安全に共有することを可能とする、オペレーティングシステムの仮想化、を有するコンピュータセキュリティ方法
US8621549B2 (en) 2005-12-29 2013-12-31 Nextlabs, Inc. Enforcing control policies in an information management system
US9942271B2 (en) * 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
US9860274B2 (en) * 2006-09-13 2018-01-02 Sophos Limited Policy management
JP2008131594A (ja) * 2006-11-24 2008-06-05 Nippon Telegr & Teleph Corp <Ntt> アプリケーション制御システムおよび制御方法
US20080134348A1 (en) 2006-12-05 2008-06-05 Microsoft Corporation Conditional policies in software licenses
US7890135B2 (en) * 2007-03-09 2011-02-15 Sony Ericsson Mobile Communication Ab System and method for protecting data based on geographic presence of a restricted device
US8875266B2 (en) * 2007-05-16 2014-10-28 Vmware, Inc. System and methods for enforcing software license compliance with virtual machines
US20080313639A1 (en) 2007-06-13 2008-12-18 Krishna Kumar Policy based scheduling of software applications
US20090199175A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation Dynamic Allocation of Virtual Application Server
US8560694B2 (en) * 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control
US20090199178A1 (en) 2008-02-01 2009-08-06 Microsoft Corporation Virtual Application Management
US8078713B1 (en) * 2008-03-05 2011-12-13 Full Armor Corporation Delivering policy settings with virtualized applications
KR101331032B1 (ko) * 2008-07-30 2013-11-19 삼성전자주식회사 가상화 환경과 결합된 어플리케이션 실행 방법
US9495538B2 (en) 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
US8893009B2 (en) * 2009-01-28 2014-11-18 Headwater Partners I Llc End user device that secures an association of application to service policy with an application certificate check
US8272031B2 (en) * 2009-09-23 2012-09-18 Avaya Inc. Policy-based virtualization method involving adaptive enforcement
US9552497B2 (en) * 2009-11-10 2017-01-24 Mcafee, Inc. System and method for preventing data loss using virtual machine wrapped applications
US8996649B2 (en) * 2010-02-05 2015-03-31 Qualcomm Incorporated Utilizing policies for offload and flow mobility in wireless communications
US20110208797A1 (en) * 2010-02-22 2011-08-25 Full Armor Corporation Geolocation-Based Management of Virtual Applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1447937A (zh) * 2000-08-14 2003-10-08 国际商业机器公司 从因特网访问传统应用程序
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN101611613A (zh) * 2007-02-26 2009-12-23 索尼爱立信移动通讯有限公司 基于位置和公司服务等级约定来限制电子设备功能的使用

Also Published As

Publication number Publication date
US20120167159A1 (en) 2012-06-28
EP2659422B1 (en) 2021-07-28
CN102591701A (zh) 2012-07-18
WO2012092113A2 (en) 2012-07-05
JP2014501419A (ja) 2014-01-20
TWI566176B (zh) 2017-01-11
CN107688485A (zh) 2018-02-13
EP2659422A4 (en) 2017-12-27
WO2012092113A3 (en) 2012-10-04
TW201229905A (en) 2012-07-16
JP5960164B2 (ja) 2016-08-02
EP2659422A2 (en) 2013-11-06
US8931037B2 (en) 2015-01-06

Similar Documents

Publication Publication Date Title
CN107688485B (zh) 用于对虚拟化应用程序的基于策略的访问的方法和系统
US10229283B2 (en) Managing applications in non-cooperative environments
US10614233B2 (en) Managing access to documents with a file monitor
US10157286B2 (en) Platform for adopting settings to secure a protected file
US9548897B2 (en) Network entity registry for network entity handles included in network traffic policies enforced for a provider network
US9912682B2 (en) Aggregation of network traffic source behavior data across network-based endpoints
US11831617B2 (en) File upload control for client-side applications in proxy solutions
US10440132B2 (en) Tracking application usage in a computing environment
WO2021257213A1 (en) Predictive model application for file upload blocking determinations
WO2018140167A1 (en) Safe data access through any data channel
US9871873B2 (en) Adapter for communication between web applications within a browser
US11562094B2 (en) Geography aware file dissemination
US11640249B2 (en) Access verification on portable mass storage devices
US11288396B2 (en) Data security through physical separation of data
US20170140389A1 (en) Legislation aware system

Legal Events

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