应用程序中的进程所进行的内容隔离的制作方法

文档序号:6592629阅读:185来源:国知局
专利名称:应用程序中的进程所进行的内容隔离的制作方法
应用程序中的进程所进行的内容隔离背景应用程序可被配置成消费各种各样的内容。例如,浏览器应用程序可被配置成导 航到可经由网络获得的各种各样的不同内容,如网页、音乐、在线视频等。这一因特网内容 通常是不可信的和/或不可靠的,并且因而其执行要在资源使用和访问控制两方面受到约 束。在一些情况下,这一内容可被配置成扩展浏览器应用程序本身的功能的扩展码,其有时 被称为“插件”、“第三方插件”、“附件”等。然而,这一扩展码可对浏览器应用程序本身的执 行具有负面影响,即使在将来也是一样。其还可能尝试执行用户不想要发生的动作。例如,浏览器应用程序可接收用于扩展该浏览器应用程序的功能的第三方插件。 然而,因为它是“第三方”插件,所以其可能是根据不满足浏览器应用程序的编写者的标准 的质量标准来编写的。例如,在结合该浏览器应用程序执行时,该插件可能失败。因为该插 件是可与浏览器应用程序共享资源的扩展码,所以该插件的失败可造成浏览器应用程序的 失败,如崩溃、“挂起”等。概述描述了应用程序中的进程所进行的内容隔离。在一实现中,一个或多个进程的执 行由包括该一个或多个进程的单个应用程序的另一进程来管理,这些进程包含经由网络接 收到的内容。该管理包括在无响应、失败、或未正确执行时终止或重启一个或多个进程。一 个或多个进程的执行与其他进程隔离,使得在该一个或多个进程无响应时其他进程保持响 应。随后恢复被终止的一个或多个进程中的内容。因此,一个或多个进程的执行可以与其 他进程隔离,使得其客户机侧身份和访问控制可以基于因特网内容源和执行它的用户的策 略来指定和限制。来自因特网的内容的执行随后由该因特网源专用的客户机操作系统身份 和/或访问控制限制来控制,并且除此之外基于本地客户机用户身份来应用。在另一实现中,一个或多个计算机可读介质包括可执行来提供具有一个或多个选 项卡进程和框架进程的浏览器应用程序的指令。该一个或多个选项卡进程包含经由网络接 收到的内容,使得每一选项卡进程彼此隔离各自的内容。框架进程管理该一个或多个选项 卡进程的执行。向选项卡进程中的至少一个分配低于框架进程的信任级别,使得该框架进 程能够访问对该至少一个选项卡进程中包含的内容不可用的一个或多个资源。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定 所要求保护的主题的范围。附图简述参考附图来描述详细描述。在附图中,附图标记中最左边的数字标识该附图标记 首次出现的附图。在说明书和附图中的不同的实例中使用相同的附图标记可指示相似或相 同的项。

图1是在一示例性实现中的可用于采用隔离技术的环境的图示。图2是示出可用来形成应用程序基础结构的各组件的体系结构的图示。图3描绘被组织成浏览器应用程序的各层的示例性隔离基础结构。
4
图4是经由图2和图3的组件实现的框架进程和选项卡进程的示例性实现的图
7J\ ο图5是描绘一示例性实现中的其中隔离内容的一个或多个进程的执行由另一进 程来管理的过程的流程图。详细描述概览执行经由网络获得的内容的各种不同的应用程序可以通过动态地加载和执行以 因特网为源的内容来进行扩展。这一内容可包括“主存”和“本机”代码,但在每一种情况 下,其都造成指令在主机上的执行。这一内容不仅包括诸如HTML等“因特网站点专用,,代 码,还包括“扩展码”,该扩展码可包括预期在各种或全部因特网站点内容上或在本地机器 资源上执行的“插件”、“附件”、“驱动程序”等。扩展码通常被呈现为在没有标准因特网访问控制或可靠性控制机制的情况下执 行的“本机码”。其可具有不定程度的质量和可信度。此外,扩展码可以与主存它的应用程 序共享资源(例如,存储器、句柄、进程空间等)。因此,扩展码的失败还可造成应用程序的 失败(例如,造成应用程序“崩溃”或“挂起”),造成资源的低效消耗,可导致安全违背等。描述了应用程序中的进程进行的对经由网络接收到的内容(例如,因特网内容) 的隔离。在一实现中,各进程被用来隔离因特网内容的执行。例如,因特网浏览器应用程序 可被配置成包括负责管理该浏览器的基本功能的框架进程(并且因而在以下讨论中被称 为“管理器进程”),这些基本功能诸如该浏览器本身的功能和控件的格式等,包括用于导航 网页的“后退”和“前进”按钮、接受统一资源定位符(URL)地址作为输入的地址栏等。浏览器应用程序还可支持用于隔离经由浏览从浏览器应用程序本身的底层功能 接收到的内容的进程(并且因而在以下讨论中被称为“隔离进程”)。例如,这些进程可以 被显示成浏览器应用程序中的选项卡,每一个都在分开的进程中执行。可以执行框架进程 来管理选项卡进程的执行,并且由于隔离,一旦选项卡进程中的一个或多个失败(例如,变 得无响应),则框架进程可以继续按计划以及与未失败的其他选项卡进程一起执行。此外, 框架进程可以采取一个或多个纠正动作,如终止无响应的选项卡进程并随后恢复在该选项 卡进程中执行的内容。还构想了各种其他示例,其进一步讨论可参考以下附图找到。在另一实现中,隔离技术可以结合“信任判断”来使用,以约束内容的访问控制和 身份。如上所述,包括扩展码在内的以因特网为源的内容可以是蓄意编写的并且旨在达到 用户或本地客户机不感兴趣的目的。因此,可以使用例如内容源的知识或用于标识和/或 接收内容的用于向该相应内容分配某种“身份和访问控制”级别的手段来作出对内容的信 任判断。信任判断可以用作对执行该扩展码的计算机的资源的访问的基础。然而,传统技 术是在“每应用程序”的基础上执行的。例如,为了与具有不同信任的web内容交互,执行多 个浏览器应用程序,它们不应用客户机操作系统访问控制和身份、是资源低效的、并且从可 用性观点看对用户而言是令人沮丧和混淆的。对信任的进一步讨论可参考以下附图找到。在以下讨论中,首先描述可用于采用隔离技术的示例性环境。随后描述可在该示 例性环境以及在其他环境中利用的示例性过程。虽然在一些情况下浏览器应用程序被描述 为采用隔离技术,但执行因特网内容的各种其他应用程序也可采用这些技术,如在计算机 的桌面上执行第三方扩展码(例如,在边栏中)以提供诸如天气信息、头条新闻、在线视频等附加功能的“小配件”应用程序。示例性环境图1是在一示例性实现中的可用于采用隔离技术的环境100的图示。所示环境 100包括经由网络106彼此通信地耦合的多个内容提供者102⑴-102 (M)和计算机104。计 算机104可以按各种方式来配置。例如,计算机104可被配置成通过网络106进行通信,诸 如台式计算机、移动站、娱乐设备、通信地耦合至显示设备的机顶盒、无线电话、游戏控制台寸。虽然网络106被示为因特网,但是该网络可以采用各种各样的配置。例如,网络 106可以包括广域网(WAN)、局域网(LAN)、无线网络、公共电话网和内联网等。此外,虽然示 出了单个网络106,但是网络106可被配置成包括多个网络。多个内容提供者102(1)_102(M)中的每一个被示为包括相应的内容管理器模块 108(1)-108(M),这些模块表示通过网络106向计算机104提供相应内容110(c) ,112 (k) (其中“C”和“k”分别是1与“C”和“K”之间的整数)的功能。该内容可按各种方式配置。 例如,内容112 (k)可被配置成网页114、脚本116、扩展码118等。计算机104被示为包括处理器120和存储器122。处理器不受形成它们的材料或 其中所利用的处理机制所限制。例如,处理器可以由半导体和/或晶体管(例如,电子集 成电路(IC))所组成。在这一上下文中,处理器可执行指令可以是电子可执行指令。另选 地,用于处理器的机制或者处理器的机制,以及由此用于计算设备的机制或者计算设备的 机制,可以包括但不限于,量子计算、光学计算、机械计算(例如,使用纳米技术)等。另外, 虽然示出了单个存储器122,但是可以采用各种类型和组合的存储器,诸如随机存取存储器 (RAM)、硬盘存储器、可移动介质存储器、以及其他类型的计算机可读介质。计算机还被示为在处理器120上执行可存储在存储器122中的应用程序124。应 用程序124可被配置成提供各种各样的功能,如浏览器应用程序(其进一步讨论可参考图 3找到)、生产力应用程序等。作为示例,应用程序124可遵循使用操作系统原语(例如,进程)来隔离各组件 的组件模型和隔离基础结构,各组件通过使用管理器进程和隔离进程来彼此隔离。为应 用程序124示出了这样的隔离基础结构的示例,其包括作为管理器进程的示例的框架进程 126和作为隔离进程的示例的多个选项卡进程128(1)-128 (T)。框架进程126表示用于管 理选项卡进程128(1)-128(T)的功能,如决定要在计算机104的资源(例如,处理器120 和/或存储器122)中的“何处”执行和/或维护选项卡进程128 (1)-128 (T),监视选项卡 进程128(1)-128 (T)的寿命和响应,终止选项卡进程128(1)-128 (T),在相应选项卡进程 128(1)-128 (T)失败时恢复相应内容112(1)-112(Τ),等等。因此,内容112(1)_112(Τ)在 相应选项卡进程128(1)-128(Τ)中的执行不干扰框架进程126的执行,从而即使在选项卡 进程128(1)-128⑴中的一个或多个及所包括的内容112(1)-112(Τ)变得无响应时也维持 框架进程126的响应,其进一步讨论可参考图4找到。在一另外的实现中,进程分离所实现 的这一隔离还使得诸如应用程序124等单个应用程序中的一个选项卡进程128(1)中的内 容112(1)免受另一选项卡进程128 (T)中的内容112(Τ)的干扰。诸如该隔离基础结构等隔离技术还支持各种其他功能。例如,相应选项卡进程 128(1)-128 (T)中的内容112(1)-112(Τ)的隔离可以使单个应用程序能够使用不同的“信任”级别。例如,可以向在选项卡进程127(1)中执行的内容112(1)分配低于分配给框架进 程126的信任级别的信任级别。因此,可准许框架进程126访问不准许选项卡进程128(1) 中的内容112(1)访问的附加资源(例如,诸如操作系统等软件或诸如共享存储器等硬件)。 同样,可以向选项卡进程128(1)中的内容112(1)分配与选项卡进程128(T)中的内容 112 (T)不同的信任级别,并且内容112(1)能够访问同一应用程序124内的不同资源。信任 级别的进一步讨论可在以下参考图5来找到。单个应用程序对各进程的使用可以支持各种其他功能。例如,这些进程可被配置 成处理不同量的“位”,如框架进程126以64位进行操作而选项卡进程128(1)-128 (T)中 的一个或多个以32位操作,选项卡进程128(1)-128 (T)以(彼此)不同的带宽操作,等等。 还构想了各种其他示例,其进一步讨论可相关于以下附图找到。一般而言,在此描述的任何功能可使用软件、固件(例如,固定逻辑电路)、手动处 理或这些实现的组合来实现。本文使用的术语“模块”、“功能”和“逻辑” 一般表示软件、固 件、或软件和固件的组合。在软件实现的情况下,模块、功能或逻辑表示当在处理器(例如, 一个或多个CPU)上执行时实现特定任务的程序代码。程序代码可被存储在一个或多个计 算机可读存储器设备中,如图1的存储器122。以下描述的隔离技术的各特征是平台无关 的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。图2描绘示出可用来形成应用程序基础结构的各组件202、204的体系结构的200。 体系结构200可以提供用作应用程序特征的基底的隔离基础结构(ISO)。该ISO可以从应 用程序代码分成可被重用的各单独的子系统,例如由不同的应用程序特征使用多次以及用 于测试以使得可以直接测试该ISO的正确性、安全性、以及可靠性。例如,可以构建该ISO以允许异步通信。例如,组件对象模型(COM)是全双工机制 并且因此不支持半双工通信。在另一示例中,该ISO可以支持对人工产物的不同信任级别, 保证对人工产物的信任级别的知识,以及提供检测该信任级别的能力。在又一示例中,人工 产物的位置可以在进程内线程内(in-process-in-thread)、进程内/不同的线程、不同的 进程、不同的强制完整性级别/分隔等等之间变化。在又一示例中,ISO可允许改变和扩展 在该ISO的应用程序编程接口(API) “之下”的实现。ISO的体系结构200的基本单元可被认为是“组件”,其示例被示为图2的体系结构 200的组件202和组件204。组件可被认为是位置和消息收发的单元。在图2的图示中,组 件202、204具有WINDOWS (WINDOWS是华盛顿州雷蒙德市的微软公司的商标)消息循环206、 208。组件202,204还被示为在相应的线程210,212 “上”并在相应的进程214,216 (例如, WINDOWS进程)“中”生存。虽然被分开示出,但相应线程210、212可存在于相应进程214、 216 “ 内”。组件202、204之间可以支持各种不同类型的通信。例如,各组件可以使用异步消 息218经由消息循环进行通信。在另一示例中,可以使用COM(组件对象模型)对象220来 实现跨隔间(apartment)同步COM调用。在一实现中,组件202、204可以在COM隔间中实 现,使得对COM对象的调用可进入或挂起对象。在又一示例中,可以使用共享缓冲区222来 例如流传输数据。还构想了其他示例。图3描绘被组织成浏览器应用程序302的各层的示例性隔离基础结构300。图3 的浏览器应用程序302的“最低”层(例如,抽象级)包括低级通信(例如,WINDOWS消息收
7发)304和低级共享存储器306。接下来的一层包括基于物理的应用程序编程接口(API), 例如线程、缓冲区、进程、强制完整性级别(MIC)等等308。接下来的上面一层包括各个组 件,例如身份、安全性、消息收发、以及资源所有权310。所示示例中的顶层包括诸如串行异 步编程312等活动以及例如“COM类”异步编程等异步地模拟Com技术的代理和接口。图4是经由图2和图3的组件实现的框架进程402和选项卡进程404的示例性实 现400的图示。框架进程402和选项卡进程404可以对应于或不对应于图1的框架进程和 选项卡进程。图4的示例性实现400是将图1的应用程序分成各组件并管理这些组件之间的数 据和控制的交换和共享的隔离体系结构的说明。如该附图所示,使用该隔离体系结构便于 应用程序的松散耦合的组件化。选项卡进程404是内容“边界,,并可被配置以便通过使用多个选项卡来将内容彼 此隔离。因此,虽然示出了单个选项卡进程404,但可以采用多个选项卡进程。例如,选项卡进程404可用于“包含”对诸如图3的浏览器应用程序302等应用 程序的扩展。在选项卡进程404中“运行”的内容的示例被示为选项卡线程406、408以及 “iso”(即,“隔离”)线程410。线程(例如,框架线程406、408以及410)中的每一个被示 为以上参考图2描述的组件,并且因此包括相应WINDOWS消息循环、线程、及进程。选项卡 进程404可在“进程内”运行到各个框架并可在“进程外”运行而去到其他进程。虽然并未 示出,但选项卡进程404也可包括“拥有”选项卡进程404的内容的管理器线程。框架进程402包括表示用于管理选项卡进程404的执行的功能的管理器线程406。 例如,框架进程402可通过管理器线程412来决定要在“何处”执行选项卡进程404,可监视 选项卡进程404的寿命和响应,并可在遇到错误时驱逐、替换、以及恢复选项卡进程404。例 如,管理器线程406可以确定选项卡进程404已“挂起”(例如,在无限循环中捕捉到)并且 因此恢复选项卡进程404,如取回先前由该选项卡进程执行的内容。以此方式,在没有重新 初始化整个应用程序的情况下恢复了受影响的选项卡进程404,在该示例中该应用程序是 例如浏览器应用程序。线程与进程之间的通信可以如以上参考图2所描述的那样执行。因此,在框架进程中,存在一个执行诸如寿命监视等管理功能的管理器(例如,“授 权机构”管理器线程)。还存在一个或多个负责呈现框架的用户界面(例如,后退按钮、前 进按钮、地址栏等)以及对该框架的用户输入进行响应的框架线程。在选项卡进程中,存在一个负责在请求该框架时在该选项卡进程下创建隔离组件 的管理器线程(其不是在框架进程中描述的那样的授权机构管理器线程)。还存在一个或 多个在选项卡进程中运行选项卡组件并且负责呈现该选项卡的内容(例如,HTML页面)并 对该内容的用户输入进行响应的选项卡线程。此外,存在其他组件的可在框架进程或选项卡进程中运行的零个或更多个组件线 程。这些不是选项卡,但在同一进程中被隔离以获得隔离的优点,但却避免了对它们中的每 一个旋转线程而造成的性能损失。示例性过程以下讨论描述了可利用上述系统和设备来实现的隔离技术。这些过程中每一过程 的各方面可用硬件、固件、或软件、或其组合来实现。该过程被示为指定由一个或多个设备 执行的操作的一组框,并且其不必限于所示由各框执行操作的次序。在以下讨论的该部分中,将对参考图1-4描述的示例性环境进行参考。图5描绘一示例性实现中的其中隔离内容的一个或多个进程的执行由另一进程 来管理的过程500。包含经由网络接收到的内容的一个或多个进程的执行由包括该一个或 多个进程的单个应用程序的另一进程来管理(框502)。例如,应用程序124被示为包括 框架进程126和多个选项卡进程128(1)-128 (T)。例如,应用程序124可对应于浏览器应 用程序302,其中框架进程126负责提供控件(例如,前进和后退按钮、地址栏等)的构架, 在该构架中经由网络106接收到的内容118(c)、112(k)可以通过使用选项卡进程128(1)、 128 (T)来输出。因此,浏览器应用程序302的窗口可包括框架进程126提供的框架,内容 112(1)-112(T)通过它来通过选项卡进程128(1)-128 (T)进行输出。虽然描述了经由网络 接收内容,但内容可以用各种其他方式来接收,如经由计算机可读介质。指定要用于执行该一个或多个进程的资源(框504)。例如,框架进程126可以指 定要由被启动来隔离经由网络106接收到的内容112(1)的选项卡进程128(1)使用的硬件 资源(例如,特定共享存储器)、软件功能(例如,句柄、句柄空间和/或句柄范围)等。还 构想了各种其他示例,如指定要用于执行该一个或多个进程的信任级别(框506)。例如,信 任级别可以基于隐私策略、内容112(1)的源、内容112(1)中包括的证书(例如,不论是自 签名的还是来自证书授权机构的)等等来确定。管理还可包括在无响应时终止该一个或多个进程(框508)。例如,框架进程 126可周期性地轮询选项卡进程128(1)-128(Τ)。当在预定时间量内未从选项 卡进程 128(1)-128 (T)中的一个或多个接收到响应时,可以终止选项卡进程128(1)-128(Τ)中的 该相应的一个或多个。因此,即使在选项卡进程128(1)-128 (T)中的一个或多个失败(例 如,“挂起”、“忙碌”等)时,这一失败不“扩散”到框架进程126 (例如,并且在一实现中不扩 散到其他选项卡进程),使得框架进程仍然有响应。因此,可以采取各种纠正动作。作为示例,可以恢复该一个或多个进程中的内容(框510)。例如,框架进程126可 以确定在选项卡进程中内容112(1)是从“何处”(例如,URL)获得的,重新启动被终止的选 项卡进程128(1),以及重新获得内容112(1)。因此,并非如以前在这样的情况下遇到的那 样造成应用程序的总体失败,可以自动恢复内容112(1)并且无需用户干预。结论虽然已经用结构特征和/或方法动作特定的语言描述了本发明,但是应该理解在 所附权利要求中定义的本发明不必限于所述具体特征或动作。相反,这些具体特征和动作 是作为实现要求保护的发明的示例性形式而公开的。
权利要求
一个或多个包括可执行来提供应用程序的指令的计算机可读介质,所述应用程序具有一个或多个隔离进程,所述一个或多个隔离进程包含经由因特网接收到的用于向所述应用程序添加功能的内容;以及管理器进程,所述管理器进程管理所述一个或多个隔离进程的执行,以便由所述管理器进程来隔离并控制在相应的所述隔离进程中执行的内容的不合需要的动作的执行。
2.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述应用程序是用 于导航可经由因特网访问的内容的浏览器应用程序。
3.如权利要求2所述的一个或多个计算机可读介质,其特征在于所述管理器进程被配置成提供一个或多个可选择来执行所述导航的控件的框架进程;以及所述一个或多个控件包括后退按钮、前进按钮、以及地址栏。
4.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述内容是来自第 三方的可被配置成站点专用代码或扩展码的代码。
5.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述管理器进程对 所述一个或多个隔离进程的执行的管理包括当相应的所述隔离进程失败时恢复在相应的 所述隔离进程中所执行的内容及其当前执行上下文。
6.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述管理器进程对 所述一个或多个隔离进程的执行的管理包括确定在相应的所述隔离进程中执行的内容是 否有响应。
7.如权利要求6所述的一个或多个计算机可读介质,其特征在于,所述管理器进程对 所述一个或多个隔离进程的执行的管理包括当相应的所述隔离进程中的内容无响应时终 止相应的所述隔离进程。
8.如权利要求1所述的一个或多个计算机可读介质,其特征在于,向所述管理器进程 的执行提供与所述一个或多个隔离进程不同的身份和信任级别以使得向所述管理器进程 提供对不提供给所述一个或多个隔离进程的资源的访问。
9.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述管理器进程与 所述一个或多个隔离进程之间的通信包括使用一个或多个异步消息。
10.如权利要求1所述的一个或多个计算机可读介质,其特征在于 所述一个或多个隔离进程包括第一所述隔离进程和第二所述隔离进程;以及 所述第一和第二所述隔离进程之间的通信包括使用一个或多个异步消息。
11.一个或多个包括可执行来提供浏览器应用程序的指令的计算机可读介质,所述浏 览器应用程序具有一个或多个选项卡进程,所述一个或多个选项卡进程包含经由网络接收到的内容,以 使得每一所述选项卡进程基于对所述内容的信任、意图、或可靠性的判断来将相应的所述 内容彼此隔离以及与所述客户机系统的其他部分隔离;以及框架进程,所述框架进程管理所述一个或多个选项卡进程的执行,其中向至少一个所 述选项卡进程分配低于所述框架进程的信任级别,以使得所述框架进程能够访问对所述至 少一个所述选项卡进程中包含的内容不可用的一个或多个资源。
12.如权利要求11所述的一个或多个计算机可读介质,其特征在于,所述对信任的判 断是至少部分地基于所述内容的意图或可靠性的。
13.如权利要求11所述的一个或多个计算机可读介质,其特征在于,向另一所述选项 卡进程分配与所述至少一个所述选项卡进程不同的信任级别,使得所述另一所述选项卡进 程的内容能够访问对所述至少一个所述选项卡进程中包含的内容不可用的一个或多个资 源。
14.如权利要求11所述的一个或多个计算机可读介质,其特征在于,向另一所述选项 卡进程分配与所述至少一个所述选项卡进程不同的信任级别,使得这两个所述选项卡进程 的内容都不能够访问对所述至少一个所述选项卡进程中包含的内容可用的一个或多个资源。
15.如权利要求11所述的一个或多个计算机可读介质,其特征在于,所述内容包括来 自第三方的、可执行来扩展所述浏览器应用程序的功能的扩展码。
16.如权利要求15所述的一个或多个计算机可读介质,其特征在于,其中所述扩展码 在相应的所述选项卡进程中的执行与所述框架进程隔离,使得所述扩展码在相应的所述选 项卡进程中的失败不造成所述框架进程的失败。
17.一种方法,包括包括一个或多个进程的单个应用程序的另一进程通过以下动作来管理所述一个或多 个进程的执行,所述一个或多个进程包含经由网络接收到的内容,所述动作包括在无响应时终止所述一个或多个进程,其中所述一个或多个进程的执行与所述另一进 程隔离,使得在所述一个或多个进程无响应时所述另一进程保持响应;以及恢复所终止的一个或多个进程中的内容;以及控制并限制所述一个或多个进程的身份和访问控制。
18.如权利要求17所述的方法,其特征在于,所述一个或多个进程的执行与所述另一 进程的隔离是通过在不同的所述进程中执行来进行的。
19.如权利要求17所述的方法,其特征在于,所述一个或多个进程的执行与所述另一 进程的隔离是通过使用一个或多个异步消息来进行的,使得所述一个或多个进程对所述另 一进程的所述一个或多个异步消息的响应失败不造成所述另一进程的失败。
20.如权利要求17所述的方法,其特征在于,所述内容包括扩展码。
全文摘要
描述了应用程序中的进程所进行的扩展码隔离。在一实现中,一个或多个进程的执行由包括该一个或多个进程的单个应用程序的另一进程来管理,这些进程包含经由网络接收到的内容。该管理包括在无响应时终止该一个或多个进程。该一个或多个进程的执行与其他进程隔离,使得在该一个或多个进程无响应时其他进程保持响应。随后恢复被终止的一个或多个进程中的内容。
文档编号G06F17/00GK101911056SQ200980102555
公开日2010年12月8日 申请日期2009年1月6日 优先权日2008年1月15日
发明者D·M·鲁兹斯基, E·J·帕蒂斯, S·M·伍兹 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1