受约束驱动程序平台在用户模式下在沙箱中运行驱动程序的制作方法_4

文档序号:9693260阅读:来源:国知局
,其执行特定任务或实现特定抽象数据类型。如本文使用的术语“模块”、“功能性”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是独立于平台的,这意味着技术可以在具有各种处理器的各种商用计算平台上实现。
[0056]所描述的模块和技术的实现方案可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可以由计算设备602访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“通信介质”。
[0057]“计算机可读存储介质”是指相对于单纯信号传输、载波或信号本身使得能够存储信息的介质和/或设备。因而,计算机可读存储介质不包括信号承载介质或信号本身。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质之类的硬件和/或在适用于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据之类的信息的方法或技术中实现的存储设备。计算机可读存储介质的示例可以包括但不限于RAM、R0M、EEPR0M、闪速存储器或其它存储器技术、CD-ROM、数字多用盘(DVD)或其它光学存储装置、硬盘、盒式磁带、磁带、磁盘存储装置或其它磁存储设备、或者适用于存储期望的信息并且可以由计算机访问的其它存储设备、有形介质或制造品。
[0058]“通信介质”是指配置成诸如经由网络将指令传输到计算设备602的硬件的信号承载介质。通信介质典型地可以在诸如载波、数据信号或其它输运机制之类的调制数据信号中体现计算机可读指令、数据结构、程序模块或其它数据。通信介质还包括任何信息递送介质。术语“调制数据信号”是指这样的信号:使其特性中的一个或多个以这样的方式设定或改变以将信息编码在信号中。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外和其它无线介质之类的无线介质。
[0059]如之前描述的,硬件元件610和计算机可读介质606代表以可以在一些实施例中用于实现本文描述的技术的至少一些方面的硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑。硬件元件可以包括集成电路或片上系统的组件、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅或其它硬件设备中的其它实现方案。在该上下文中,硬件元件可以操作为执行由指令、模块和/或硬件元件所体现的逻辑限定的程序任务的处理设备以及用于存储指令以供执行的硬件设备,例如之前所描述的计算机可读介质。
[0060]以上的组合也可以用于实现本文描述的各种技术和模块。因此,软件、硬件或程序模块,包括操作系统110、应用112、驱动程序安全性平台116和其它程序模块,可以实现为体现在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件610体现的一个或多个指令和/或逻辑。计算设备602可以配置成实现对应于软件和/或硬件模块的特定指令和/或功能。因此,将模块实现为计算设备602作为软件可执行的模块可以至少部分地在硬件中实现,例如通过使用计算机可读介质和/或处理系统的硬件元件610。指令和/或功能可以由一个或多个制造品可执行/可操作(例如一个或多个计算设备602和/或处理系统604)以实现本文描述的技术、模块和示例。
[0061]如图6中进一步图示的,示例系统600使得能够在个人计算机(PC)、电视设备和/或移动设备上运行应用时实现用于无缝用户体验的普适环境。当在利用应用、播放视频游戏、观看视频等时从一个设备转换到下一个时,服务和应用在所有三个环境中基本上类似地运行以用于共同的用户体验。
[0062]在示例系统600中,多个设备通过中央计算设备互连。中央计算设备可以在多个设备本地或者可以远离多个设备定位。在一个实施例中,中央计算设备可以是通过网络、互联网或其它数据通信链路连接到多个设备的一个或多个服务器计算机的云。
[0063]在一个实施例中,该互连架构使得能够跨多个设备递送功能性以向多个设备的用户提供共同且无缝的体验。多个设备中的每一个可以具有不同物理要求和能力,并且中央计算设备使用平台来使得能够向设备递送既针对设备定制又是所有设备所共同的体验。在一个实施例中,创建目标设备类并且针对通用类设备定制体验。设备类可以由设备的物理特征、使用类型或其它共同特性限定。
[0064]在各种实现方案中,计算设备602可以采取各种不同配置,诸如用于计算机614、移动装置616和电视618用途。这些配置中的每一个包括可以具有大体不同构造和能力的设备,并且因而计算设备602可以根据不同设备类中的一个或多个来配置。例如,计算设备602可以实现为计算机614类设备,其包括个人计算机、桌上型计算机、多屏幕计算机、膝上型计算机、上网本等。
[0065]计算设备602还可以实现为移动装置616类设备,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等。计算设备602还可以实现为电视618类设备,其包括具有非正式观看环境中的大体更大屏幕或者连接到所述屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等。
[0066]本文描述的技术可以由计算设备602的这些各种配置支持并且不限于本文描述的技术的具体示例。这通过在计算设备602上包括驱动程序安全性平台116来图示。驱动程序安全性平台116和其它模块的功能性还可以全部或部分通过使用分布式系统来实现,诸如通过经由平台622的“云”620,如下文描述的。
[0067]云620包括和/或代表用于资源624的平台622。平台622抽象云620的硬件(例如服务器)和软件资源的底层功能性。资源624可以包括在远离计算设备602的服务器上执行计算机处理时可以利用的应用和/或数据。资源624还可以包括通过互联网和/或通过诸如蜂窝或W1-Fi网络之类的订户网络所提供的服务。
[0068]平台622可以抽象资源和功能以将计算设备602与其它计算设备连接。平台622还可以服务于抽象资源的规模以向遭遇的对于经由平台622所实现的资源624的需求提供对应水平的规模。相应地,在互连设备实施例中,本文描述的功能性的实现可以遍及系统600分布。例如,功能性可以部分地实现在计算设备602上以及经由抽象云620的功能性的平台622而实现。
[0069] 结论
尽管^以具体到结构特征和/或方法动作的语言描述了本发明,但是要理解到,在所附权利要求中限定的本发明未必限于所描述的具体特征或动作。相反,具体特征和动作是作为实现所要求保护的发明的示例形式公开的。
【主权项】
1.一种由计算设备实现的方法,该方法包括: 向计算设备所实现的驱动程序安全性平台登记变形驱动程序; 经由驱动程序安全性平台针对变形驱动程序实例化受约束执行环境;以及 在受约束执行环境内执行变形驱动程序以在驱动程序安全性平台的指引下执行一个或多个任务。2.如权利要求1中所描述的方法,其中变形驱动程序在用户模式下执行。3.如权利要求1中所描述的方法,其中变形驱动程序在每用户的基础上执行。4.如权利要求1中所描述的方法,其中受约束执行环境建立被配置成隔离变形驱动程序以约束变形驱动程序对系统资源的访问的应用容器。5.如权利要求4中所描述的方法,其中应用容器还被配置成拒绝不与驱动程序安全性平台相关联的组件对变形驱动程序的访问。6.如权利要求1中所描述的方法,其中受约束执行环境包括用于变形驱动程序的后台进程,通过驱动程序安全性平台针对所述后台进程处置任务的调度。7.如权利要求1中所描述的方法,其中受约束执行环境被配置成在没有由驱动程序安全性平台对变形驱动程序的明确调用以执行任务的情况下暂停变形驱动程序。8.如权利要求1中所描述的方法,其中受约束执行环境被配置成依赖于用户同意而选择性地启用变形驱动程序的操作。9.如权利要求1中所描述的方法,还包括: 通过网络从服务提供商的应用商店获得变形驱动程序,变形驱动程序包含在具有与驱动程序安全性平台相关联的指定格式的驱动程序包装中;以及 在安装之后识别驱动程序包装的指定格式,响应于指定格式的识别而执行变形驱动程序向驱动程序安全性平台的登记。10.如权利要求1中所描述的方法,其中变形驱动程序包括被配置成封装和解封装分组以用于通过网络的VPN通信的虚拟私人网络(VPN)驱动程序。
【专利摘要】本文描述一种受约束变形驱动程序平台。在一个或多个实现方案中,提供使得能够针对虚拟私人网络(VPN)驱动程序和其它变形驱动程序实现受约束执行环境的平台。该平台可以实现为暴露接口的操作系统组件,驱动程序可以通过该接口向平台登记并且被调用以执行由平台支持的功能。受约束执行环境向经由平台操作的变形驱动程序放置一个或多个约束。例如,执行可以在每用户的基础上并且在沙箱内发生在用户模式下。另外,平台使得相关联的驱动程序作为后台进程以相对低特权运行。另外,平台可以暂停驱动程序并且通过后台任务的调度控制驱动程序的操作。因此,变形驱动程序向系统的暴露通过平台受到控制和限制。
【IPC分类】G06F21/53, G06F21/12
【公开号】CN105453097
【申请号】CN201380077101
【发明人】G.迪亚斯-奎利亚尔, D.K.古普塔
【申请人】微软技术许可有限责任公司
【公开日】2016年3月30日
【申请日】2013年9月20日
【公告号】CA2910252A1, EP3005208A1, US9075985, US20140359706, WO2014193443A1
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1