CN102027454A - 多进程浏览器体系结构 - Google Patents

多进程浏览器体系结构 Download PDF

Info

Publication number
CN102027454A
CN102027454A CN2009801173664A CN200980117366A CN102027454A CN 102027454 A CN102027454 A CN 102027454A CN 2009801173664 A CN2009801173664 A CN 2009801173664A CN 200980117366 A CN200980117366 A CN 200980117366A CN 102027454 A CN102027454 A CN 102027454A
Authority
CN
China
Prior art keywords
browser
presents
present
view
host
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.)
Pending
Application number
CN2009801173664A
Other languages
English (en)
Inventor
达林·菲舍尔
布雷特·威尔森
本·古德格尔
阿诺德·韦伯
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN102027454A publication Critical patent/CN102027454A/zh
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • 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/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/543Local
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在此描述了用于多进程浏览器体系结构的系统和方法。在一个实施例中,一种用于提供多进程浏览器体系结构的系统包括用于每一个浏览器实例的呈现内容区域的至少一个呈现进程;以及与一个或多个呈现引擎进程通信的至少一个浏览器进程。在另一个实施例中,一种用于提供多进程浏览器体系结构的方法包括实例化用于每一个内容区域实例的独特呈现进程,以及实例化独特浏览器进程。以这种方式,浏览器可以避免出错进程影响其它浏览器进程的结果。这可以在增强用户体验的同时提高用户效率。

Description

多进程浏览器体系结构
技术领域
本发明的实施例涉及浏览器技术。
背景技术
浏览器用于访问web内容或本地存储的内容。这样的内容的位置通常由诸如统一资源定位符(URL)的位置地址识别。浏览器可以使用URL来访问与该URL相关联的内容。用户可以通过用户接口与浏览器交互来将浏览器指向到不同的内容区域。
内容区域可以包含文本、音频、视频或其它形式的内容递送。在传统的窗口环境中,可以在多个窗口中查看数个内容区域,其中每个内容区域可以存在一个窗口。现今的浏览器允许用户在单个浏览器窗口中查看数个内容区域。在单个浏览器窗口中查看数个内容区域可以认为是标签页视图方法。利用这种方法来查看内容的浏览器可以被称为标签页视图浏览器。标签页视图浏览器可以允许用户通过对不同标签页的选择在不同的内容区域之间切换。此外,用户可以查看一个标签页中的内容区域,而其它标签页的内容正由浏览器在后台获取。
现今使用的常规浏览器包括微软INTERNET EXPLORER、MOZILLA FIREFOX、苹果SAFARI以及OPERA。用户可以使用这些浏览器中的任何浏览器来访问内容区域。通常通过在对应于浏览器的图标上点击来打开浏览器窗口。一旦打开浏览器窗口,用户可以通过浏览器的用户界面打开数个其它浏览器窗口。然而,不可以将通过用户使用浏览器的用户界面打开的新窗口作为新的操作系统(0S)进程打开。此外,在遵循标签页视图方法的浏览器中,不可以将新的标签页作为新的和独特的OS进程打开。新近打开的标签页作为单个浏览器进程的一部分存在。可以通过在浏览器图标上双击仅打开浏览器的新的OS进程或浏览器进程。
由于浏览器中的所有内容区域存在于同一浏览器进程中,所以如果在浏览器中的呈现内容的任何单个标签页中出现错误,则这会影响所有其它内容区域。在一个示例中,在呈现单个内容区域的标签页中出现错误,可以导致浏览器进程的意外终止。浏览器进程的意外终止可以显著降低用户的体验。
通过呈现引擎呈现浏览器中的内容以供在显示设备上显示。现今使用的浏览器的特点可以是:具有单个呈现引擎来呈现内容区域以供显示。在标签页视图浏览器的情况下,由呈现引擎呈现的内容区域可以存在于单个内容区域或数个内容区域中。因此,单个呈现引擎可以在标签页视图浏览器中的多个标签页中呈现内容,这导致在呈现引擎和内容区域之间的一对多关系。由于在呈现引擎中的错误可以影响其相关联的所有内容区域,所以这个方法可能对用户没有用。在呈现引擎是浏览器进程的一部分的示例中,这可以致使整个浏览器进程变得无响应。无响应的浏览器进程可以阻止用户与浏览器的用户界面组件交互。此外,通常浏览器的用户界面不会向用户提供对浏览器的无响应状态的指示。这可以影响用户体验,并且可以显著降低用户的任务的效率。由于用户与之交互的内容现可以是现在无响应的,这导致可能损失用户在与该内容交互时已完成的工作,所以可以发生降低用户的任务的效率。
需要阻止出错的浏览器进程影响其它浏览器进程,从而提高用户体验的质量和用户效率的系统和方法。
发明内容
本发明的实施例涉及用于多进程浏览器体系结构的系统和方法。在一个实施例中,一种用于提供多进程浏览器体系结构的系统包括用于每一个浏览器实例的呈现内容区域的至少一个呈现进程;以及与一个或多个呈现引擎进程通信的至少一个浏览器进程。
在另一个实施例中,一种用于提供多进程浏览器体系结构的方法包括实例化用于每一个内容区域实例的独特呈现进程,以及实例化独特浏览器进程。
以这种方式,浏览器可以避免出错进程或多个出错进程影响其它浏览器进程的结果。这可以在增强用户体验的同时提高用户效率。
将在下面参考附图详细描述实施例的进一步实施例、特征和优势以及各种实施例的结构和操作。
附图说明
将参考附图描述本发明的实施例。在附图中,相同的参考数字可以指示相同或功能上相似的元素。元素在其中首次出现的附图通常由相应参考数字中的最左边数字指示。
图1是根据一个实施例的多进程浏览器体系结构的体系结构图。
图2A是图示了根据一个实施例的多进程浏览器体系结构中的各种线程的图。
图2B是图示了根据一个实施例的多进程浏览器体系结构的运作的体系结构图。
图3是图示了根据一个实施例的可以用于为新近实例化的标签页创建呈现视图的方法的流程图。
图4是图示了根据一个实施例的可以用于为新近实例化的弹出窗口创建呈现视图的方法的流程图。
图5是图示了根据一个实施例的可以用于终止死锁的呈现引擎进程的方法的流程图。
图6是图示了根据一个实施例的可以用于重新创建无响应的呈现引擎进程的方法的流程图。
具体实施方式
本发明的实施例涉及用于多进程浏览器体系结构的系统和方法。在本发明的实施例中,提高了用户的体验的质量和用户效率。
虽然在此关于用于特定应用的说明性实施例描述了本发明的实施例,但是应当理解的是,本发明不限于此。本领域技术人员使用在此提供的教导将认识到在本发明范围内的额外修改、应用和实施例以及本发明在其中将有重大功用的额外领域。
在此使用的术语“URL”是指内容地址。URL可以寻址跨诸如因特网的一个或多个网络存储的内容。在另一个示例中,URL可以是与本地存储的文件的位置相对应的路径。这些示例是说明性的,并且并不意在限制定义。
在此使用的术语“内容区域”是指可以显示通过URL寻址的内容的用户界面显示的区域。如一个说明性示例,在内容区域中显示的内容可以包括例如网页、应用、文档、视频、多媒体内容、未来利用的内容机制或以上的任何组合。这些示例是说明性的,并且并不意在限制定义。
使用的术语“线程”是指执行指令的序列,其可以独立于其它线程运行,但是可以与其它线程直接共享数据。
将对本发明的实施例的详细描述分成数个部分。第一部分关于图1、2A和2B描述了根据本发明的一个实施例的多进程浏览器体系结构。第二部分关于图3至图6描述了根据本发明的实施例的各种方法,其可以在操作多进程浏览器体系结构时使用。最后部分描述了多进程浏览器体系结构的一个实施例的示例操作。
系统
本部分关于图1-2B描述了根据一个实施例的多进程浏览器体系结构。
图1是根据一个实施例的多进程浏览器体系结构的体系结构图。图1包含系统100。
可以在能够支持浏览的任何设备上实现系统100。这样的设备可以包括但不限于具有用于执行和存储指令的处理器和存储器的设备。这样的设备可以包括软件、固件和硬件。软件可以包括一个或多个应用和操作系统。硬件可以包括但不限于处理器、存储器和用户界面显示。可以使用可选的输入设备,诸如鼠标、触敏屏或任何未来开发的交互方法。
多进程浏览器体系结构100可以联系远程服务器(未示出)并且下载数据以显示。在示例中,数据可以被表示为超文本标记语言、动态超文本标记语言、可扩展标记语言、图像数据、视频或声音。在另一个示例中,多进程浏览器体系结构100可以根据AJAX(异步JavaScript和XML)框架下载并执行脚本。AJAX框架从服务器异步传送和接收数据以在不重复加载内容区域的情况下更新内容区域。
多进程浏览器体系结构100包括通过进程间通信130耦接到一个或多个呈现器120A-N的浏览器进程110。浏览器进程110可以通过诸如因特网的一个或多个网络与一个或多个web服务器(未示出)通信。浏览器进程110可以进一步与输入(未示出)通信以允许用户输入数据、输入命令、或向浏览器进程110提供其它控制信息。呈现引擎进程120A-N可以呈现数据以在运行浏览器进程110的客户端设备处显示。
浏览器进程110和呈现引擎进程120A-N可以通过进程间通信130通信。在一个实施例中,进程间通信130可以包括诸如命名管道的进程间通信方法。
命名管道是本领域技术人员已知的一种进程间通信形式。命名管道可以允许两个进程相互通信。命名管道可以在不引入额外线程的情况下允许进程间通信。此外,命名管道可以允许用户控制对命名管道的构建。控制对命名管道的构建可以允许用户将安全限制施加于通过命名管道的通信,以及控制命名管道的整体性能。
图2A是图示了涉及系统100的操作的各种线程的图。主浏览器线程220可以包括一个或多个呈现视图寄主218。I/O(输入/输出)线程230可以包括资源调度器寄主228。主呈现器线程254可以包括呈现进程242,以及呈现线程256可以包括一个或多个呈现视图246。呈现进程寄主214和呈现进程242可以通过进程间通信130通信。
进程间通信130可以将消息作为邻接的字节数组通信。可以连续通信邻接的字节数组。可以在被传送的每一个消息前加上头结构前缀。头结构可以定义消息类型、包含在消息中的数据的长度以及路由标识符。路由标识符可以用于在接收进程内为消息指定目的地。消息可以例如在内容区域的实例化或与实例化的内容区域交互期间,在系统100的不同组件之间通信。
图2B是图示了系统100的组件的运作的详细体系结构图。
图2B图示了浏览器进程110和多个呈现引擎进程120A-N。在一个实施例中,浏览器进程110可以进一步包括呈现视图寄主218、呈现进程寄主214、资源调度器寄主228和通道222。而且,通道222可以包括过滤器224。呈现进程寄主214进一步包括浏览器状态212。在下面的部分中,进一步描述系统100中的各种线程。
主浏览器线程220
主浏览器线程220可以包括呈现视图寄主218和呈现进程寄主214。
呈现视图寄主218可以管理呈现视图246。呈现视图寄主218可以通过相应的呈现进程寄主214通信消息。呈现进程寄主214可以将该消息通信到呈现进程242。呈现进程242然后可以将同一消息通信到在呈现引擎进程120A-N中的相应的呈现视图246。在内容区域的实例化或与实例化的内容区域交互期间可能需要通信这样的消息。以这种方式,呈现视图寄主218可以与呈现视图246交互,并且管理呈现视图246。在一个实施例中,多个呈现视图寄主214可以管理多个呈现视图246。
呈现进程寄主214可以为多个呈现引擎进程120A-N中的每一个存在。呈现进程寄主214可以管理浏览器状态212,以及与呈现引擎进程120A-N通信。对应于每一个呈现视图246的呈现进程寄主214维护主浏览器线程220中的呈现视图寄主218。
浏览器状态212可以由浏览器进程110维护。浏览器状态212可以包括呈现引擎进程120A-N的会话信息。如果呈现引擎进程120A-N在其操作时经历错误或需要终止,则浏览器进程110可以能够重新创建出错的呈现引擎进程120A-N,并且重新存储其在浏览器状态212中存储的会话信息。浏览器状态212可以包括可以在用户浏览不同的内容区域时累积的会话cookie或会话历史。作为一个示例,会话cookie可以由web服务器使用来区分用户,并且在导航期间维护与用户有关的数据。会话历史可以包括先前访问过的内容区域和其由呈现引擎进程120A-N呈现的各自状态的列表。对于呈现引擎进程120A-N呈现的内容区域的会话历史可以包括在表格字段中输入的单个或多个用户值。额外地,会话历史可以存储内容区域的滚动位置。
输入/输出(I/O)线程230
输入/输出(I/O)线程230可以包括资源调度器寄主228和通道222。通道222可以进一步包括过滤器224。I/O(输入/输出)线程230可以由浏览器进程110使用来与呈现引擎进程120A-N通信。而且,与主浏览器线程220相关联的I/O线程230可以将消息从浏览器进程110通信到一个或多个呈现视图246。对与浏览器进程110中的内容区域相对应的内容的资源请求可以由I/O线程230通信。
通道222可以将消息通信到主浏览器线程220。参考图2B,通道222可以驻存于I/O线程230中。通道220可以用作在呈现视图246与主浏览器线程220之间的代理。通道代理226可以在通道222和呈现进程寄主214之间通信消息。
可以驻存于通道222中的过滤器224可以由呈现进程寄主214在通道中构建。过滤器224可以拦截来自呈现引擎进程120A-N的资源请求消息,并且可以将它们直接转送给资源调度器寄主228。
以这种方式,对内容的资源请求可以由I/O线程230处理,并且这可以减少主浏览器线程220需要完成的资源处理量。
主呈现器线程254
主呈现器线程254可以包括呈现进程242。呈现进程242可以进一步包括呈现器状态244。
呈现进程242可以包括在每一个呈现器进程120A-N中。呈现进程242可以管理与浏览器进程110的通信,以及还可以维护呈现器状态244。每一个呈现进程242可以与一个或多个呈现视图246通信。
呈现器状态244可以维护与相应的呈现引擎进程120A-N的状态有关的信息。呈现器状态244可以包括关于相应的呈现引擎进程120A-N是否变得无响应或其是否正请求系统资源的信息。
呈现线程256
呈现线程256可以包括资源调度器250、web工具包(webkit)252和呈现视图246。
呈现视图246可以对应于浏览器中的独特内容区域。作为一个示例,而并不意在限制本发明,每一个新的窗口或标签页实例化可以创建新的呈现引擎进程120A-N,并且为该进程创建呈现视图246。作为一个示例,而并不意在限制本发明,内容区域可以是标签页视图浏览器中的标签页。在另一个实施例中,呈现视图246可以包括超文本标记语言(HTML)解析器和JavaScript解释器。HTML解析器对本领域技术人员而言是已知的,并且可以用于识别HTML标记标签以适当地呈现内容。JavaScript解释器可以用于识别可以是内容的一部分的JavaScript。
呈现视图246可以由呈现进程242管理。每一个呈现视图246由视图ID 248来识别。视图ID(视图标识符)248可以用于识别特定呈现器进程120A-N中的呈现视图246的不同实例。视图ID 248在呈现器进程120A-N的实例中可以是独特的。为了从浏览器进程110识别呈现视图242,除视图ID 248外,可以需要呈现进程寄主214。从浏览器进程110到特定内容区域的通信可以通过呈现视图寄主218来完成。
资源调度器250可以包括在每一个呈现进程120A-N中。资源调度器250可以与web工具包252通信。资源调度器250可以处理对与浏览器进程110中的内容区域相对应的内容的资源请求。Web工具包252可以包括在每一个呈现进程120A-N中。Web工具包252可以以数据结构的形式存储并管理浏览器进程110的内容区域中的内容。
看门狗线程262
看门狗线程262可以包括在每一个呈现引擎进程120A-N中。看门狗线程262可以检测出错的呈现引擎进程120A-N,并且可以终止相应的呈现引擎进程120A-N。
在一个实施例中,浏览器110可以响应于关闭可能是无响应的标签页的用户请求,将消息发送给看门狗线程262。这样的消息可以允许看门狗线程262终止呈现引擎进程120A-N。
内容区域共享呈现引擎进程
在例如标签页或窗口的不同内容区域之间可能需要共享呈现引擎进程120A-N中的任何一个。这可以在父亲内容区域实例化其可能希望与之通信的新的孩子窗口时发生。该通信可以借助于句柄来完成。作为一个示例,而并不意在限制本发明,句柄可以是使父亲内容区域能够建立与孩子窗口的通信的标识符。为了呈现内容,孩子内容区域可以使用呈现父亲内容区域的呈现引擎进程120A-N的同一实例。在可能需要将新的孩子内容区域实例化为新的窗口的情况下,呈现视图246可以将信息通信到呈现视图寄主218。呈现视图寄主218然后可以为孩子内容区域实例化新的标签页或窗口。对应于父亲内容区域的呈现视图246然后可以将对应于孩子内容区域的新呈现视图246的标识符传递给呈现视图寄主218。这可以允许孩子内容区域使用呈现父亲内容区域的呈现引擎进程120A-N的同一实例。
确定内容区域优先级
作为一个示例,呈现引擎进程120A-N的任何一个实例可以在给定时间与活动内容区域相关联。活动内容区域可以是指用户当前正与之交互的任何内容区域。活动内容区域的一个示例可以是前景标签页或前景窗口。在一个实施例中,并不意在限制本发明,可以将呈现背景内容区域的呈现引擎进程120A-N作为低优先级进程对待。低优先级进程在分配系统资源中可以获得较低优先权。此外,低优先级进程可以比前景呈现器进程更可能使其存储器换出。存储器交换是指本领域技术人员通常使用的方法。作为一个示例,而并不意在限制本发明,存储器交换使操作系统能够执行比其主存储器更大的程序以及操纵比其主存储器更大的数据文件。操作系统可以将尽可能多的数据存储到主存储器中,并且将其余数据留在盘片上。当操作系统需要来自盘片的数据时,其可以用盘片上的部分数据替换主存储器中的部分数据,所述部分数据在本领域中俗称页或段。
操作
本部分描述了可以在操作图1-2B中描述的系统时使用的各种方法。为了清晰起见,关于系统100描述了方法,然而,并不意在将方法限制到系统100。
图3是图示了根据一个实施例的可以用于为新近实例化的标签页创建呈现视图的方法300的流程图(步骤302-310)。方法300以用户通过在相应图标上点击来实例化浏览器进程110开始(步骤302)。浏览器进程110实例化新的呈现引擎进程120A来呈现可以由浏览器进程110寻址的内容(步骤304)。浏览器进程110检查是否实例化了新的标签页(步骤306)。如果尚未实例化新的标签页,则方法300返回。如果浏览器进程110确定实例化了新的标签页,则呈现视图寄主218识别呈现进程寄主214以创建呈现视图246(步骤308)。呈现进程寄主214然后创建呈现视图246(步骤310)。以这种方式,可以创建用于用户实例化的标签页的新的呈现视图。
图4是图示了根据一个实施例的可以用于为待被实例化的弹出窗口创建呈现视图的方法400的流程图(步骤402-412)。方法400以浏览器进程110检查内容区域是否请求了弹出窗口的实例化开始(步骤402)。如果浏览器进程110中的内容区域尚未请求实例化弹出窗口,则方法400返回。如果浏览器进程110中的内容区域实例化了弹出,则对应于内容的呈现视图246将消息发送给相应的呈现进程寄主214以为弹出窗口实例化新的呈现视图246(步骤404)。使用呈现进程寄主214来创建呈现视图246(步骤406)。以这种方式,可以创建用于弹出窗口的新的呈现视图。
图5是图示了根据一个实施例的可以用于终止死锁的呈现引擎进程120A-N的方法500的流程图(步骤502-506)。方法500以浏览器进程110检查看门狗线程262是否检测到呈现引擎进程120A-N的死锁开始(步骤502)。如果看门狗线程262尚未检测到呈现引擎进程死锁,则方法500返回。如果看门狗线程262检测到呈现引擎进程死锁,则通知用户批准终止死锁的呈现引擎进程120A-N(步骤504)。看门狗线程262检查用户是否批准了终止死锁的呈现引擎进程120A-N(步骤506)。如果用户尚未批准终止死锁的呈现引擎进程,则方法500返回。如果用户批准了终止死锁的呈现引擎进程120A-N,则看门狗线程262终止死锁的呈现引擎进程120A-N(步骤508)。以这种方式,看门狗线程262终止死锁的呈现引擎进程120A-N。
图6是图示了根据一个实施例的可以用于重新创建无响应的呈现引擎进程的方法600的流程图(步骤602-606)。方法600以浏览器进程110检查呈现引擎进程120A是否正在响应开始(步骤602)。如果呈现引擎进程120A正在响应,则方法600返回。如果呈现引擎进程120A没有响应,则浏览器进程110创建新的呈现引擎进程(步骤604)。浏览器进程110然后恢复可以包括在浏览器状态212中的会话历史(步骤606)。以这种方式,浏览器进程110可以重新创建无响应的呈现引擎进程120A。
示例操作
本部分描述了多进程浏览器体系结构100的一个实施例的示例操作。尽管关于系统100描述了接下来的示例操作,但是不将其限制在系统100的实施例。
在这个示例中,用户决定从在线购物商店亚马逊购买书籍。为了访问亚马逊提供的内容,用户可以首先在其桌面上的浏览器图标上点击。作为一个示例,而并不意在限制本发明,该浏览器图标对应于标签页视图浏览器。在浏览器图标上点击可以启动浏览器进程110。由于用户需要看见屏幕上的内容,所以浏览器进程110可以实例化呈现引擎进程120A。在大部分情况下,浏览器具有被称为“主页”的默认页面,其中浏览器在其被启动后导航到该默认页面。浏览器进程110可以创建新的呈现视图寄主218。呈现视图寄主218可以识别新的呈现进程寄主214。呈现进程寄主214可以创建新的呈现视图246。呈现视图246呈现浏览器的主页提供的内容。
为了访问亚马逊以购买书籍,用户决定在浏览器窗口内打开新的标签页。在用户提供打开新的标签页的指示后,浏览器进程110创建新的呈现引擎进程120B,并且实例化标签页。浏览器进程110可以创建新的呈现视图寄主218。呈现视图寄主218可以识别新的呈现进程寄主214。呈现进程寄主214可以为与该标签页有关的内容创建新的呈现视图246。用户然后可以在浏览器的地址栏中键入URL“http://www.amazon.com”,并且然后可以按下键盘上的“Enter”键以导航到“http://www.amazon.com”提供的内容。呈现视图246然后可以呈现“http://www.amazon.com”提供的内容。在图3中图示的方法300中描述了响应于新的标签页实例化对呈现视图的创建。
在呈现视图246呈现了“http://www.amazon.com”的所有内容后,用户开始查看内容,并且通过在亚马逊主页上提供的“书籍”链接上点击决定导航到亚马逊书籍商店。在用户在“书籍”链接上点击后,他可以离开“http://www.amazon.com”导航到具有与书籍有关的不同内容的页面。尽管用户可以导航离开页面,但是可以由同一呈现视图246呈现内容,并且不需要为新的内容实例化新的呈现视图。呈现视图246然后呈现亚马逊网站上的与“书籍”有关的页面的内容。
亚马逊可能当前正在运行针对某些书籍的促销价格,并且网站可能希望生成弹出窗口以吸引用户的对降价促销的注意。在亚马逊内容区域待生成弹出窗口时,可以将消息从与当前在窗口中的内容相对应的呈现视图246发送到相应的呈现进程寄主214。呈现进程寄主214然后创建呈现视图246的新的实例来呈现对应于弹出窗口的内容。因此,可以向用户显示弹出窗口。在图4中图示的方法400中描述了响应于新的标签页实例化对呈现视图的创建。
用户可能希望为“书籍”页面上的感兴趣的书籍而继续浏览亚马逊,然而,“书籍”页面提供的某些内容致使呈现页面的标签页变得无响应。该无响应行为可以由负责呈现“书籍”页面提供的内容的无响应的呈现引擎进程120B引起。例如,为了警示用户标签页的该无响应状态,浏览器进程110可以显示询问用户是否希望关闭标签页的提示。由于会话历史和标签页上呈现的内容的滚动位置已由浏览器进程110保存在浏览器状态212中,所以尽管用户决定关闭标签页以终止呈现器进程120B,但是浏览器进程110可以用在呈现引擎进程120B变得无响应时存在的内容重新创建关闭的标签页。在图5中的方法500中描述了对死锁的呈现引擎进程的终止。还在图6中图示的方法600中描述了对无响应的呈现引擎进程的重新创建。
由于呈现引擎进程120B没有被在浏览器中打开的任何其它标签页使用,所以呈现引擎进程120B中的任何错误或看门狗线程262或用户对呈现引擎进程120B的终止不可能影响其它呈现引擎进程120A或浏览器进程110。
以这种方式,浏览器可以避免出错的进程或多个出错的进程影响其它浏览器进程的结果。这可以在增强用户体验的同时提高用户效率。
结论
应当理解,具体实施方式部分而不是发明内容和摘要部分意在用于解释权利要求。发明内容和摘要部分可以阐明发明人考虑的本发明的一个或多个而非所有的示例性实施例,因此发明内容和摘要部分并不意在以任何方式来限制本发明和所附的权利要求。
在上面借助于说明指定的功能及其关系的实现的功能构造块来描述了本发明。在此为了便于描述,任意地限定了这些功能构造块的边界。可以定义替选边界,只要所述指定的功能及其关系被适当地执行。
特定实施例的前述描述如此充分地揭示了本发明的一般特性,使得其他人可以在不背离本发明的一般思想的情况下,通过应用在本领域的技术内的知识而容易地修改和/或调整本发明的一般特性以用于这样的特定实施例的各种应用,而不用进行过度的实验。因此,基于在此提供的教导和指导,这样的调整和修改意在在所公开的实施例的等同物的含义和范围内。应当明白的是,在此的措词或术语用于描述而非限制的目的,因此本说明书的术语或措词应当由技术人员根据所述教导和指导来解释。
本发明的宽度和范围不应当由上述示例性实施例的任何一个限制,而是应当仅根据所附权利要求及其等同物来限定。

Claims (18)

1.一种用于实例化浏览器的内容区域的基于计算机的系统,包括:
一个或多个处理器;
用于每一个浏览器实例的呈现内容区域的至少一个呈现引擎进程;以及
与一个或多个呈现引擎进程通信的至少一个浏览器进程,
其中所述浏览器进程和所述呈现引擎进程被实现在所述一个或多个处理器上。
2.如权利要求1所述的系统,其中所述浏览器进程包括呈现视图寄主。
3.如权利要求2所述的系统,其中所述呈现视图寄主为所述至少一个呈现引擎进程中的每一个实例化至少一个呈现视图。
4.如权利要求3所述的系统,其中所述呈现视图呈现内容区域中的内容。
5.如权利要求4所述的系统,其中所述呈现视图包括视图标识符。
6.如权利要求1所述的系统,其中所述呈现引擎进程包括web工具包。
7.如权利要求1所述的系统,其中所述呈现引擎进程包括看门狗线程。
8.如权利要求1所述的系统,进一步包括实例化呈现进程的呈现进程寄主。
9.如权利要求7所述的系统,其中所述呈现进程包括呈现器状态。
10.如权利要求7所述的系统,其中所述呈现进程寄主包括浏览器状态。
11.如权利要求1所述的系统,进一步包括用于向所述浏览器进程提供资源的资源调度器寄主。
12.如权利要求1所述的系统,其中所述呈现引擎包括向所述资源调度器寄主提供资源请求的资源调度器。
13.一种用于实例化浏览器的内容区域的计算机实现的方法,包括:
(a)为每一个内容区域实例实例化独特的呈现引擎进程;以及
(b)实例化独特的浏览器进程,
其中,步骤(a)-(b)中的至少一个被实现在一个或多个处理器上。
14.如权利要求13所述的方法,进一步包括:
为所述至少一个呈现引擎进程中的每一个实例化至少一个呈现视图。
15.如权利要求14所述的方法,进一步包括:
使用所述呈现视图呈现所述内容区域实例中的内容。
16.如权利要求13所述的方法,进一步包括:
使用呈现进程寄主实例化呈现进程。
17.如权利要求13所述的方法,进一步包括:
使用资源调度器寄主向所述浏览器进程提供一个或多个资源。
18.如权利要求17所述的方法,进一步包括:
使用资源调度器向所述资源调度器寄主提供一个或多个资源请求。
CN2009801173664A 2008-05-13 2009-05-12 多进程浏览器体系结构 Pending CN102027454A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US5271908P 2008-05-13 2008-05-13
US61/052,719 2008-05-13
PCT/US2009/002917 WO2009139845A1 (en) 2008-05-13 2009-05-12 Multi-process browser architecture

Publications (1)

Publication Number Publication Date
CN102027454A true CN102027454A (zh) 2011-04-20

Family

ID=40872467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801173664A Pending CN102027454A (zh) 2008-05-13 2009-05-12 多进程浏览器体系结构

Country Status (8)

Country Link
US (4) US8307300B1 (zh)
EP (1) EP2304566A1 (zh)
KR (2) KR20160067200A (zh)
CN (1) CN102027454A (zh)
AU (1) AU2009246884B2 (zh)
BR (1) BRPI0911981B1 (zh)
CA (1) CA2723274C (zh)
WO (1) WO2009139845A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591711A (zh) * 2011-12-29 2012-07-18 奇智软件(北京)有限公司 一种窗口防假死方法和装置
CN102663318A (zh) * 2012-03-22 2012-09-12 百度在线网络技术(北京)有限公司 浏览器及客户端
CN102915251A (zh) * 2012-03-08 2013-02-06 北京金山安全软件有限公司 一种多页面浏览器处理消息的方法和装置
CN103019832A (zh) * 2011-09-20 2013-04-03 百度在线网络技术(北京)有限公司 浏览器的切换控制方法及装置
CN103176775A (zh) * 2011-12-22 2013-06-26 腾讯科技(深圳)有限公司 一种实现网页应用程序本地化的方法和装置
CN103713910A (zh) * 2012-09-28 2014-04-09 腾讯科技(深圳)有限公司 一种检测多核浏览器内核的方法和装置
CN103793282A (zh) * 2012-11-02 2014-05-14 阿里巴巴集团控股有限公司 一种浏览器及其结束标签页的方法
CN103955388A (zh) * 2014-04-29 2014-07-30 百度在线网络技术(北京)有限公司 客户端的冷启动方法及装置
CN104035815A (zh) * 2011-12-29 2014-09-10 北京奇虎科技有限公司 一种窗口防假死方法和装置

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307300B1 (en) 2008-05-13 2012-11-06 Google Inc. Content resizing and caching in multi-process browser architecture
US8819585B2 (en) * 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US9232011B2 (en) * 2010-03-26 2016-01-05 Microsoft Technology Licensing, Llc Tracking navigation flows within the same browser tab
EP2608047A4 (en) * 2010-08-16 2014-04-30 Rakuten Inc INTERNET MANAGEMENT DEVICE, INTERNET MANAGEMENT METHOD, INTERNET MANAGEMENT PROGRAM, COMPUTER-READABLE RECORDING MEDIUM FOR RECORDING THE PROGRAM, AND INTERNET SYSTEM
JP2012058856A (ja) * 2010-09-06 2012-03-22 Sony Corp 情報処理装置、情報処理方法及び情報処理プログラム
US8667505B2 (en) * 2010-09-14 2014-03-04 Microsoft Corporation Message queue management
CN102467565B (zh) * 2010-11-19 2016-05-11 北京奇虎科技有限公司 一种浏览器内核切换的方法
US8589950B2 (en) 2011-01-05 2013-11-19 Blackberry Limited Processing user input events in a web browser
CN102436457B (zh) * 2011-02-18 2014-04-16 奇智软件(北京)有限公司 一种分配浏览器进程的方法及其设备
US8832690B1 (en) 2011-06-21 2014-09-09 Google Inc. Multi-threaded virtual machine processing on a web page
US9928083B2 (en) * 2011-07-08 2018-03-27 Microsoft Technology Licensing, Llc Tab trimming
US9563971B2 (en) * 2011-09-09 2017-02-07 Microsoft Technology Licensing, Llc Composition system thread
US8700990B1 (en) * 2011-09-20 2014-04-15 Google Inc. PDF plugin to view any page
US9384711B2 (en) * 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
CN102622439B (zh) * 2012-03-06 2014-06-11 北京奇虎科技有限公司 一种在浏览器中展示文档的方法及装置
CN103377228B (zh) * 2012-04-25 2016-09-07 阿里巴巴集团控股有限公司 一种用于浏览器的页面内容呈现方法及装置
US9230517B2 (en) 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9690748B1 (en) * 2012-07-02 2017-06-27 Amazon Technologies, Inc. Delivering notifications to background applications
US10021052B1 (en) 2012-09-22 2018-07-10 Sitting Man, Llc Methods, systems, and computer program products for processing a data object identification request in a communication
US9996631B2 (en) * 2012-09-25 2018-06-12 Opera Software As Information management and display in web browsers
US9070211B1 (en) * 2012-10-18 2015-06-30 Google Inc. Webview tag for a sandboxed multiprocess browser
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
KR101401948B1 (ko) * 2012-11-19 2014-05-30 한국인터넷진흥원 대규모 웹사이트 방문점검 방법
KR101388962B1 (ko) * 2012-11-19 2014-04-24 한국인터넷진흥원 대규모 웹사이트 고속 점검방법
US9977683B2 (en) * 2012-12-14 2018-05-22 Facebook, Inc. De-coupling user interface software object input from output
US11050851B2 (en) * 2013-04-30 2021-06-29 Adobe Inc. Drag-and-drop clipboard for HTML documents
US9542906B2 (en) 2013-05-10 2017-01-10 Microsoft Technology Licensing, Llc Shared compositional resources
US20140344729A1 (en) * 2013-05-15 2014-11-20 Microsoft Corporation Primitive-based composition
US10803232B2 (en) 2013-06-06 2020-10-13 International Business Machines Corporation Optimizing loading of web page based on aggregated user preferences for web page elements of web page
US10334776B2 (en) * 2013-06-12 2019-07-02 Agco Corporation Method and system having an intermediate holding vessel for combining chemical injection substances for a spray system
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
CN104376016B (zh) * 2013-08-15 2019-06-07 腾讯科技(深圳)有限公司 一种浏览器中跨进程渲染方法和装置
CN103559097B (zh) * 2013-10-18 2017-06-09 北京奇虎科技有限公司 一种浏览器中进程间通信的方法、装置和浏览器
CN103544068B (zh) * 2013-10-18 2017-05-24 北京奇虎科技有限公司 一种浏览器中进程间通信的方法、装置和浏览器
US9692633B2 (en) 2013-11-15 2017-06-27 Sap Se Role-based resource navigation
US10282395B2 (en) * 2013-11-15 2019-05-07 Sap Se Handling timer-based resizing events based on activity detection
CN103647768A (zh) * 2013-12-06 2014-03-19 北京奇虎科技有限公司 游戏客户端及其实现方法
CN104809122B (zh) * 2014-01-24 2019-03-26 北京猎豹移动科技有限公司 一种访问网页的方法及装置
JP6703370B2 (ja) * 2014-03-14 2020-06-03 国立大学法人 東京大学 ドキュメント提供システム、提供側装置、表示側装置、及びプログラム
CN106105090B (zh) * 2014-04-14 2019-10-22 迈克菲股份有限公司 利用会话共享自动登录和登出会话
US9652130B1 (en) * 2014-04-23 2017-05-16 Google Inc. Auto-sizing an untrusted view
US9747165B1 (en) 2014-04-23 2017-08-29 Google Inc. Self-recovering application
US20150339033A1 (en) * 2014-05-21 2015-11-26 Facebook, Inc. Asynchronous Execution of Tasks for a GUI
US9348645B2 (en) * 2014-05-30 2016-05-24 Apple Inc. Method and apparatus for inter process priority donation
US9396089B2 (en) 2014-05-30 2016-07-19 Apple Inc. Activity tracing diagnostic systems and methods
US10387540B2 (en) * 2014-09-09 2019-08-20 Intentional Software Corporation Generating a visual layout tree using caching techniques
US10402478B2 (en) 2014-09-09 2019-09-03 Intentional Software Corporation Linking visual layout nodes of a visual layout tree using positioning pointers
US11003833B2 (en) 2014-09-09 2021-05-11 Microsoft Technology Licensing, Llc Adding visual description nodes to a visual description tree during layout
US10353991B2 (en) 2014-09-09 2019-07-16 Intentional Software Corporation Generating a visual description tree based on a layout interruption record
US10387547B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Layout engine for creating a visual layout tree for a document
US10430500B2 (en) 2014-09-09 2019-10-01 Intentional Software Corporation Detecting and animating a change in position of a visual layout node of a visual layout tree
TW201616846A (zh) * 2014-10-16 2016-05-01 Walton Advanced Eng Inc 一種引導裝置之執行方法
US10136650B2 (en) * 2015-03-18 2018-11-27 Umm-Al-Qura University Repellant composition for an anti-repellant fabric and a device to evaluate the same
JP6658136B2 (ja) * 2016-03-14 2020-03-04 コニカミノルタ株式会社 描画処理装置、画像処理装置、描画処理方法及び描画処理プログラム
US10938915B1 (en) * 2016-08-16 2021-03-02 United Services Automobile Association (Usaa) Session data isolation and management
CN107067244B (zh) 2016-11-03 2020-09-29 阿里巴巴集团控股有限公司 业务实现方法、支付方法、业务实现装置及支付服务端
US11122013B2 (en) * 2017-02-16 2021-09-14 Emerald Cactus Ventures, Inc. System and method for encrypting data interactions delineated by zones
WO2018151851A1 (en) * 2017-02-16 2018-08-23 Tenta, Llc System and method for establishing simultaneous encrypted virtual private networks from a single computing device
WO2018151847A1 (en) * 2017-02-16 2018-08-23 Tenta, Llc System and method for creating encrypted virtual private network hotspot
CN109101298B (zh) * 2017-06-20 2021-09-07 武汉斗鱼网络科技有限公司 Windows跨进程窗口管理方法、存储介质、电子设备及系统
US20190347315A1 (en) * 2018-05-08 2019-11-14 International Business Machines Corporation Methods and systems for rendering web pages with restricted features
US10983811B2 (en) 2018-06-03 2021-04-20 Apple Inc. Multi-process model for cross-platform applications
US10474479B1 (en) 2018-06-03 2019-11-12 Apple Inc. Preventing framework conflicts for multi-OS applications
US10671236B2 (en) * 2018-09-20 2020-06-02 Salesforce.Com, Inc. Stateful, contextual, and draggable embedded widget
US11334385B2 (en) * 2020-02-26 2022-05-17 The Toronto-Dominion Bank Browser-based processing of data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1835907A (zh) * 2003-10-24 2006-09-20 罗姆两合公司 可聚合多羟基化合物的制备方法
US7343419B1 (en) * 2000-10-05 2008-03-11 Aol Llc Rerouting media to selected media applications

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764235A (en) * 1996-03-25 1998-06-09 Insight Development Corporation Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution
US5819263A (en) 1996-07-19 1998-10-06 American Express Financial Corporation Financial planning system incorporating relationship and group management
AU6037198A (en) * 1997-01-27 1998-08-26 Benjamin Slotznick System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
US6212560B1 (en) * 1998-05-08 2001-04-03 Compaq Computer Corporation Dynamic proxy server
US6820235B1 (en) 1998-06-05 2004-11-16 Phase Forward Inc. Clinical trial data management system and method
US6456305B1 (en) * 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6742043B1 (en) * 2000-01-14 2004-05-25 Webtv Networks, Inc. Reformatting with modular proxy server
JP2003521784A (ja) * 2000-02-04 2003-07-15 アメリカ オンライン インコーポレーティッド スケーラブルなウェブページを配信およびレンダリングするためのシステムとプロセス
US6915484B1 (en) * 2000-08-09 2005-07-05 Adobe Systems Incorporated Text reflow in a structured document
US7073199B1 (en) 2000-08-28 2006-07-04 Contentguard Holdings, Inc. Document distribution management method and apparatus using a standard rendering engine and a method and apparatus for controlling a standard rendering engine
US6657647B1 (en) * 2000-09-25 2003-12-02 Xoucin, Inc. Controlling the order in which content is displayed in a browser
US7665115B2 (en) * 2001-02-02 2010-02-16 Microsoft Corporation Integration of media playback components with an independent timing specification
US6943773B2 (en) 2001-05-11 2005-09-13 Palmone, Inc. Page flicking mechanism for electronic display devices that paginate content
US6983307B2 (en) * 2001-07-11 2006-01-03 Kirusa, Inc. Synchronization among plural browsers
WO2003009102A2 (en) * 2001-07-19 2003-01-30 Wind River Systems, Inc. Browser having dynamically self-adjusting rendering functionality
US7127503B2 (en) * 2001-10-10 2006-10-24 Juniper Networks, Inc. Computer networking system, device, and method for improved speed in web page rendering
US7257776B2 (en) * 2002-02-05 2007-08-14 Microsoft Corporation Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects
CN1669020A (zh) * 2002-02-15 2005-09-14 特里迪姆公司 用于实时系统控制的组件模型
US20050116966A1 (en) * 2002-04-04 2005-06-02 Graham James J. Web imaging serving technology
AU2003212464A1 (en) * 2002-04-25 2003-11-10 Thomson Licensing S.A. Video resolution control for a web browser and video display
US20030221068A1 (en) 2002-05-23 2003-11-27 Michael Tsuji Method and system for data cache
US6973480B2 (en) * 2002-09-26 2005-12-06 Sun Microsystems, Inc. Mechanism for implementing server-side pluglets
KR20040049488A (ko) * 2002-12-06 2004-06-12 삼성전자주식회사 애플릿 실행 장치 및 방법
US20040128342A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation System and method for providing multi-modal interactive streaming media applications
US20070128899A1 (en) 2003-01-12 2007-06-07 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US20040152062A1 (en) * 2003-02-03 2004-08-05 Adams Milton N. Web-based learning and literacy education using core constructs and constructive surfing
EP1605336A4 (en) * 2003-03-18 2007-01-24 Access Co Ltd NAVIGATION PROGRAM AND CONTENT DISPLAY DEVICE
KR100624786B1 (ko) * 2004-01-29 2006-09-19 엘지전자 주식회사 무선 네트워크망을 통해 통신하는 서버 시스템
US7546539B2 (en) 2004-03-10 2009-06-09 Siebel Systems, Inc. Browser back and forth navigation
US20060004785A1 (en) 2004-06-03 2006-01-05 International Business Machines Corporation Saving multiple browser instances as a selectable web project
US20060031760A1 (en) * 2004-08-05 2006-02-09 Microsoft Corporation Adaptive document layout server/client system and process
US20060080292A1 (en) 2004-10-08 2006-04-13 Alanzi Faisal Saud M Enhanced interface utility for web-based searching
US7921365B2 (en) 2005-02-15 2011-04-05 Microsoft Corporation System and method for browsing tabbed-heterogeneous windows
US7596760B2 (en) 2005-04-07 2009-09-29 Microsoft Corporation System and method for selecting a tab within a tabbed browser
US7827503B2 (en) 2005-07-27 2010-11-02 Yahoo! Inc. Automatically generating a search result in a separate window for a displayed symbol that is selected with a drag and drop control
US7703013B1 (en) * 2005-08-16 2010-04-20 Adobe Systems Inc. Methods and apparatus to reformat and distribute content
US7673233B2 (en) 2005-09-08 2010-03-02 Microsoft Corporation Browser tab management
US8775662B2 (en) 2005-09-27 2014-07-08 Blackberry Limited System and method for progressive delivery of multimedia objects
US7506248B2 (en) * 2005-10-14 2009-03-17 Ebay Inc. Asynchronously loading dynamically generated content across multiple internet domains
US20100153836A1 (en) * 2008-12-16 2010-06-17 Rich Media Club, Llc Content rendering control system and method
US7475359B2 (en) 2006-02-09 2009-01-06 International Business Machines Corporation User interface for a tabbed pane
AU2007227611B2 (en) * 2006-03-15 2013-07-11 Google Llc Automatic display of resized images
US20080065237A1 (en) 2006-09-10 2008-03-13 Long Wesley V Dynamic HTML based Multi Tabbed Sortable Results
US20090210631A1 (en) * 2006-09-22 2009-08-20 Bea Systems, Inc. Mobile application cache system
CN100568808C (zh) * 2006-10-12 2009-12-09 国际商业机器公司 对多个网络服务器并行操作的方法和装置
US7996756B2 (en) * 2007-09-12 2011-08-09 Vistaprint Technologies Limited System and methods for displaying user modifiable server-rendered images
US20090132949A1 (en) 2007-11-16 2009-05-21 Jason Bosarge Methods and systems for transmitting, receiving and annotating internet content
US20090228838A1 (en) * 2008-03-04 2009-09-10 Ryan Christopher N Content design tool
US8307300B1 (en) * 2008-05-13 2012-11-06 Google Inc. Content resizing and caching in multi-process browser architecture
US9071651B2 (en) * 2008-06-05 2015-06-30 Microsoft Technology Licensing, Llc Dynamic content delivery to network-enabled static display device
US8356247B2 (en) * 2008-12-16 2013-01-15 Rich Media Worldwide, Llc Content rendering control system and method
US8799806B2 (en) 2008-12-31 2014-08-05 Verizon Patent And Licensing Inc. Tabbed content view on a touch-screen device
US20100218122A1 (en) * 2009-02-20 2010-08-26 Microsoft Corporation Asynchronously uploading and resizing content in web-based applications
US8140646B2 (en) 2009-06-04 2012-03-20 Microsoft Corporation Network application performance enhancement using speculative execution
US8924943B2 (en) * 2009-07-17 2014-12-30 Ebay Inc. Browser emulator system
US20110271217A1 (en) 2010-04-30 2011-11-03 Microsoft Corporation Configurable presets for tab groups

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343419B1 (en) * 2000-10-05 2008-03-11 Aol Llc Rerouting media to selected media applications
CN1835907A (zh) * 2003-10-24 2006-09-20 罗姆两合公司 可聚合多羟基化合物的制备方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHARLES REIS ET AL: "Using Processes to Improve the Reliability of Browser-based Applications", 《UNIVERSITY OF WASHINGTON TECHNICAL REPORT 》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019832A (zh) * 2011-09-20 2013-04-03 百度在线网络技术(北京)有限公司 浏览器的切换控制方法及装置
CN103019832B (zh) * 2011-09-20 2016-08-31 百度在线网络技术(北京)有限公司 浏览器的切换控制方法及装置
CN103176775B (zh) * 2011-12-22 2016-08-24 腾讯科技(深圳)有限公司 一种实现网页应用程序本地化的方法和装置
CN103176775A (zh) * 2011-12-22 2013-06-26 腾讯科技(深圳)有限公司 一种实现网页应用程序本地化的方法和装置
CN104035815B (zh) * 2011-12-29 2017-12-12 北京奇虎科技有限公司 一种窗口防假死方法和装置
US9575821B2 (en) 2011-12-29 2017-02-21 Beijing Qihoo Technology Company Limited Method and device for preventing window's lagging
CN102591711B (zh) * 2011-12-29 2014-06-25 奇智软件(北京)有限公司 一种窗口防假死方法和装置
CN102591711A (zh) * 2011-12-29 2012-07-18 奇智软件(北京)有限公司 一种窗口防假死方法和装置
CN104035815A (zh) * 2011-12-29 2014-09-10 北京奇虎科技有限公司 一种窗口防假死方法和装置
CN102915251A (zh) * 2012-03-08 2013-02-06 北京金山安全软件有限公司 一种多页面浏览器处理消息的方法和装置
CN102915251B (zh) * 2012-03-08 2014-06-18 北京金山安全软件有限公司 一种多页面浏览器处理消息的方法和装置
CN102663318B (zh) * 2012-03-22 2015-04-08 百度在线网络技术(北京)有限公司 一种浏览器进程权限的控制方法
CN102663318A (zh) * 2012-03-22 2012-09-12 百度在线网络技术(北京)有限公司 浏览器及客户端
CN103713910A (zh) * 2012-09-28 2014-04-09 腾讯科技(深圳)有限公司 一种检测多核浏览器内核的方法和装置
CN103713910B (zh) * 2012-09-28 2018-03-02 腾讯科技(深圳)有限公司 一种检测多核浏览器内核的方法和装置
CN103793282A (zh) * 2012-11-02 2014-05-14 阿里巴巴集团控股有限公司 一种浏览器及其结束标签页的方法
CN103793282B (zh) * 2012-11-02 2017-08-18 阿里巴巴集团控股有限公司 一种浏览器及其结束标签页的方法
CN103955388A (zh) * 2014-04-29 2014-07-30 百度在线网络技术(北京)有限公司 客户端的冷启动方法及装置
CN103955388B (zh) * 2014-04-29 2017-09-12 百度在线网络技术(北京)有限公司 客户端的冷启动方法及装置

Also Published As

Publication number Publication date
EP2304566A1 (en) 2011-04-06
US20130014037A1 (en) 2013-01-10
US8307300B1 (en) 2012-11-06
US8291078B2 (en) 2012-10-16
WO2009139845A1 (en) 2009-11-19
AU2009246884B2 (en) 2014-10-16
BRPI0911981A2 (pt) 2016-09-13
KR20160067200A (ko) 2016-06-13
KR20110019741A (ko) 2011-02-28
BRPI0911981B1 (pt) 2019-10-15
CA2723274A1 (en) 2009-11-19
KR101664367B1 (ko) 2016-10-10
AU2009246884A1 (en) 2009-11-19
US20090287824A1 (en) 2009-11-19
CA2723274C (en) 2016-07-26
US8402383B1 (en) 2013-03-19
US8954589B2 (en) 2015-02-10

Similar Documents

Publication Publication Date Title
CN102027454A (zh) 多进程浏览器体系结构
JP6272933B2 (ja) 遠隔ブラウジングセッション管理
US7861213B2 (en) Mechanism for developing AJax applications using java swing framework and method for using the same
US11449666B2 (en) Browser extension for the collection and distribution of data and methods of use thereof
JP5335083B2 (ja) ブラウザにおける新しいタブページおよびブックマークツールバー
US9858600B2 (en) Universal tag for page analytics and campaign creation
CN103718161B (zh) Web应用体系架构
EP1807771B1 (en) Method and system for communicating and exchanging data between browser frames
US7559016B1 (en) System and method for indicating web page modifications
US11206273B2 (en) Content management system connect
US20060265662A1 (en) System and method for generating and updating user interfaces of web-based applications
US20160103563A1 (en) System and method for authoring, distributing, viewing and saving wrap packages
US8087033B2 (en) Task-based tool for speeding and customizing interactions with web documents
JP2007149074A (ja) コンテキスト・ベースのナビゲーション
US7912917B2 (en) Persisting forms data in a composite web application environment
US20120197978A1 (en) Method and System for Seamless Navigation and Drill Back Among a Plurality of Web Applications
US20100042943A1 (en) Method And Systems For Layered Presentation Of A Graphic Background And A Web Accessible Resource In A Browser Widget
WO2016057184A1 (en) System and method for authoring, distributing, viewing and saving wrap packages
TW201743225A (zh) 植基於ajax技術於控管網頁共通部分之運作系統
Janson et al. Servlets

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20110420

RJ01 Rejection of invention patent application after publication