CN103339625B - 用于显示数据集的方法 - Google Patents

用于显示数据集的方法 Download PDF

Info

Publication number
CN103339625B
CN103339625B CN201180062749.3A CN201180062749A CN103339625B CN 103339625 B CN103339625 B CN 103339625B CN 201180062749 A CN201180062749 A CN 201180062749A CN 103339625 B CN103339625 B CN 103339625B
Authority
CN
China
Prior art keywords
group
relatively low
area
data set
elements
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.)
Expired - Fee Related
Application number
CN201180062749.3A
Other languages
English (en)
Other versions
CN103339625A (zh
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.)
Good Technology Holdings Ltd
Original Assignee
Good Technology Holdings Ltd
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 Good Technology Holdings Ltd filed Critical Good Technology Holdings Ltd
Publication of CN103339625A publication Critical patent/CN103339625A/zh
Application granted granted Critical
Publication of CN103339625B publication Critical patent/CN103339625B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明的实施方式涉及在显示装置的显示区域内显示数据集,其中,数据集包括多个元素组,每个组包括较高级别元素和一个或多个较低级别元素。本发明包括处理数据集中的元素以识别和渲染显示区域中的一个或多个元素,其中,基于由相应元素占据的区是否与数据集的布局区域的选定部分相对应来识别元素。该处理包括根据组中的较高级别元素相对于组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理元素组,允许本发明高效地处理作为已识别预定义空间关系的组成员的元素。

Description

用于显示数据集的方法
技术领域
本发明涉及一种用于在显示装置的显示区域内显示数据集的选定部分的方法。
更具体地,但不排他地,本发明涉及一种在显示装置的显示区域内显示数据集的选定部分的方法,其中,数据集涉及结构化文档。数据集可从利用标记语言(诸如HTML)描述的内容和/或从一个或多个工作区数据项(包括电子邮件、日历条目、联系人等)获得。其内可显示数据集的选定部分的显示装置可以是监视器或触屏显示器,所述监视器或触屏显示器被连接至计算装置或者被嵌入计算装置内。
背景技术
已知互联网浏览器可被配置为在显示装置的显示区域内显示数据集的一部分,诸如与超文本标记语言(HTML)文件有关的数据集。由于在显示区域内可能没有足够空间来显示整个数据集,所以在显示区域内任一时刻仅可显示数据集的一部分。
当显示数据集时,互联网浏览器处理数据集以识别并随后显示位于待显示部分内的数据集的元素;然而,尽管将仅渲染数据集的子集这一事实,但这通常需要浏览器处理数据集中的所有元素。
本发明的目的在于提供一种用于在显示装置的显示区域内显示数据集的选定部分的改进方法。
发明内容
根据本公开的一个方面,提供了一种根据所附权利要求所述的用于在显示装置(诸如监视器或触屏显示器)的显示区域内显示数据集的选定部分的方法。所述方法的优选特征在从属权利要求中阐述。
本文中描述的实施方式涉及提供一种用于在显示装置的显示区域内显示数据集的选定部分的方法,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,所述方法包括:
处理用于所述多个元素的布局信息以识别为在所述显示区域中显示而被渲染的一个或多个元素,所述布局信息指示由所述数据集的布局区域内的相应元素占据的区,基于由相应元素占据的所述区是否与所述数据集的所述布局区域的选定部分相对应来识别所述元素;
渲染所识别的元素;以及
在所述显示装置的所述显示区域中显示所渲染的元素的至少一部分,
其中,对待渲染的所述元素的识别包括处理在由所述分组信息限定的组中的所述元素,所述处理包括根据所述组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组。
通过根据组中较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理元素组,本发明的实施方式能利用数据集内的分组信息,并随后以每个组为基础根据这一预定义空间关系来处理数据集。更具体地,所述方法能更高效地处理作为已识别预定义空间关系的组成员的元素。
预定义空间关系可指示组中一个或多个较低级别元素是否占据数据集布局区域内的处于由组中的较高级别元素占据的区内的区。若组中的一个或多个较低级别元素的至少一个占据在由较高级别元素占据的区之外的区,则所述组不具有预定义关系。
有向无环图(DAG)是数据集的一个实例。DAG包括一组顶点,且数据集的多个元素中的每个元素可与DAG中的顶点相对应。DAG包括一组有向边,其中,每个边从第一顶点连接到第二顶点。每个边可因此定义较高级别元素(即,与边从其开始连接的顶点相对应的元素)与较低级别元素(即,与边所连接到的顶点相对应的元素)之间的关系。DAG的边的集合可因此对应于数据集的分组信息。在本发明的实施方式中,数据集可与结构化文档有关。数据集中的多个元素可以元素层级来组织,且这一元素层级可定义分组信息。
元素层级中的每个元素可对应于对象层级中的对象,该对象层级形成文档对象模型(DOM)树。该DOM树可表示结构化文档。每个元素可因此与例如HTML<p>标签或HTML<a>标签或者HTML<div>标签等相对应,HTML<p>标签表示一段文本,HTML<a>标签表示超链接,HTML<div>标签表示分段或节,每个标签可形成结构化文档的一部分。元素可包括零个或多个子元素,所述子元素形成元素层级中低于所述元素级别的级别的一部分。
元素层级中的每个元素可对应于节点层级中的节点,该节点层级形成DOM树中对象层级的中间表示。DOM树的中间表示可被构造以在渲染选定部分时允许结构化文档比可以在处理DOM树本身的情况下所处理的更高效地被处理。
该数据集可另外或者可替代地与一组工作区数据项(诸如电子邮件、日历条目等)有关。元素层级中的一个或多个元素可至少部分从所述集中的工作区数据项(诸如电子邮件、日历条目等)获得,使得当例如可用电子邮件的选定部分被显示时,与电子邮件或日历条目有关的信息可被显示在显示装置的显示区域内。
数据集可另外或者可替代地与图像有关。元素层级中的一个或多个元素可与形成该图像的一部分的形状或对象相对应,且可从利用标记语言描述的内容(例如,基于XML的语言,诸如可缩放矢量图形(SVG))获得。
该数据集可另外或者可替代地与数学方程有关。元素层级中的一个或多个元素可与形成该数学方程的一部分的形状或对象相对应,且可从利用标记语言描述的内容(例如,基于XML的语言,诸如数学标记语言(MathML))获得。
如分组信息中定义的组的实例为如下:组可包括第一元素,该第一元素为组中的较高级别元素,且该第一元素的子元素为组中的较低级别元素。可替代地,组可包括多个较低级别,第一较低级别包括一个或多个元素,所述一个或多个元素为组中的较高级别元素的子代,第二较低级别包括一个或多个元素,所述一个或多个元素为较高级别元素的子代,等等。组因此通常包括较高级别元素以及组中较高级别元素的所有后裔。
因此,在一种排布中,根据由较高级别元素的所有后裔占据的区是否占据其内由组中的较高级别元素占据的区,可确定上述预定义空间关系。这可从布局信息获得,例如,该布局信息指示由数据集的布局区域内的相应元素占据的区。数据集的布局区域可以是整个结构化文档可占据的区域。
数据集布局区域的选定部分可以是结构化文档的一部分,所述结构化文档的一部分已被选定为用于在显示区域中显示以允许查看这一部分。若由相应元素占据的区至少部分占据在布局区域的选定部分内的区,则所述区可与数据集的布局区域的选定部分相对应。因此,为渲染而识别的元素是为在显示区域中显示而被渲染的那些元素,因为它们占据在数据集的选定部分内的区。有利地,本发明允许基于组的处理作为该处理的一部分,由此基于组中较高级别元素相对于由组中较低级别元素占据的区是否具有预定义空间关系来不同地处理组。
更具体地,待渲染元素的识别优选包括处理组中的所述元素,所述组包括:
包括处在所述第一较低级别的一个或多个较低级别元素和处在所述第二较低级别的一个或多个较低级别元素的组;以及
包括来自所述组的元素的一个或多个较低级别组,所述较低级别组不包括所述较高级别元素且包括处在所述第一较低级别的元素和处在所述第二较低级别的一个或多个元素,
组中所述元素的处理包括:
根据由所述组中的所述较高级别元素占据的区相对于由所述组中的所述较低级别元素占据的区是否具有预定义空间关系来不同地处理所述组;以及
若由所述组中的所述较高级别元素占据的所述区相对于由所述组中的所述较低级别元素占据的所述区不具有所述预定义空间关系,则根据由第一较低级别组中的第一较低级别元素占据的区相对于由所述较低级别组中的一个或多个第二较低级别元素占据的区是否具有预定义空间关系来不同地处理所述一个或多个较低级别元素的组。
组的处理可包括处理组中所有元素或者仅处理组中的一部分元素。基于组中较高级别元素相对于组中的一个或多个较低级别元素是否具有预定义空间关系,可进行处理所有元素或者仅处理一部分元素。
因此,在组具有预定义空间关系使得所有较低级别元素与较高级别元素共同定位的情况下,所述处理包括:
确定由所述较高级别元素占据的所述区与所述数据集的所述布局区域的所述选定部分之间的对应关系;以及
选择不确定由所述较低级别元素中的至少一个占据的所述区与所述数据集的所述布局区域的所述选定部分之间的对应关系。
因此,对于所有较低级别元素共同位于由组中较高级别元素占据的区内的组,没必要确定介于布局区域的选定部分与由较低级别元素占据的区之间的对应关系。因此,且当较高级别元素不位于选定部分内时,当渲染数据集时总体上需要较少处理,因为较低级别元素可被完全忽略。
相反,对于较低级别元素中的一个或多个不共同位于由组中的较高级别元素占据的区内的组,在一个或多个较低级别元素的位置与选定部分重叠的情况下,确定介于布局区域的选定部分与由较低级别元素占据的区之间的对应关系。
组内元素之间的预定义空间关系优选通过组布局信息来捕获,且在所述处理期间被用于识别为在所述显示区域中显示而被渲染的一个或多个元素。此外,组布局信息可在元素渲染之前的适当时候被生成并存储。
当所述组布局信息被存储时,它可以以下方式被重复使用:
处理包括存储的所述组布局信息的布局信息,以在所述数据集的所述布局区域的所述选定部分覆盖所述数据集的所述布局区域的第一部分时识别为在所述显示区域中显示而被渲染的一个或多个元素;以及
重新处理包括存储的所述组布局信息的所述布局信息,以在所述数据集的所述布局区域的所述选定部分覆盖所述数据集的所述布局区域的第二不同部分时识别为在所述显示区域中显示而被渲染的一个或多个元素。
可替代地,每当数据集布局区域的选定部分改变时,诸如当滚动布局区域的选定部分以使数据集的不同部分被查看时,可使用组布局信息。组布局信息可因此通过允许多个元素组中的组被不同地处理多次来提供另外的处理益处。
此外,所存储的组布局信息可被用于对布局信息的处理(包括对所述存储的组布局信息的处理)以识别为在所述显示区域中显示而被渲染的一个或多个元素,当所述一个或多个元素在第一显示状态下被渲染时,存储的选择数据识别所识别的元素并渲染该识别的元素;以及
当所述一个或多个元素在第二不同显示状态下被渲染时,基于所述存储的选择数据来重新渲染所识别的元素。
因此,组布局信息可被使用多次,例如,每当一个或多个元素的显示状态改变时,诸如当元素的颜色改变时,可使用它。组布局信息可因此通过允许多个元素组中的组被不同地处理多次来提供另外的处理益处。
在特别有益的排布中,限定至少一个新元素组,由此产生与数据集相关联的修改后的分组信息。新元素组可既包括分组信息中限定的原始组的原始较低级别元素的子集,又包括处于比所述子集中的元素更高级别的配置元素。原始组中的原始较高级别元素处于比配置元素更高的级别。
与在新组添加之前所需的这种处理量相比,当识别用于渲染数据集的选定部分的元素时,对该新元素组的引入可提供处理上的减少,其中特别地,原始较低级别元素包括相对大量的元素。例如,若在识别用于渲染的元素时,新组的配置元素与数据集的选定部分不对应,则新组中原始较低级别元素的子集无需处理以识别用于渲染的元素,即使配置元素(即,原始较高级别元素)的父代及其其他子代需要处理以识别用于渲染的元素。
相反,在新组添加之前,若较高级别元素需要该处理,则较高级别元素的所有子代将需要处理以识别用于渲染的元素。
另一示例性实施方式提供了一种计算机装置,被设置为在显示装置的显示区域内显示数据集的选定部分,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,所述计算机装置包括:
处理装置,用于处理用于所述多个元素的布局信息以识别为在所述显示区域中显示而被渲染的一个或多个元素,所述布局信息指示由所述数据集的布局区域内的相应元素占据的区,基于由相应元素占据的所述区是否与所述数据集的所述布局区域的选定部分相对应来识别所述元素;
渲染装置,用于渲染所识别的元素;以及
显示装置,用于在所述显示装置的所述显示区域中显示所渲染的元素的至少一部分,
其中,对待渲染的所述元素的识别包括处理在由所述分组信息限定的组中的所述元素,所述处理包括根据所述组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组。
优选地,所述计算机装置是以计算装置为形式的用户终端,诸如计算机、智能手机、iPad(TM)、PDA等。处理装置可以处理器来实现,该处理器被配置为执行计算机软件以处理针对所述多个元素的布局信息,从而识别为在所述显示区域中显示而被渲染的一个或多个元素。渲染装置可以处理器(例如,CPU)和/或图形处理器(例如,GPU)来实现,该处理器(例如,CPU)和/或图形处理器(例如,GPU)被配置为执行计算机软件以渲染所识别的元素。显示装置可以图形处理组件(例如,图形卡和/或GPU)来实现,该图形处理组件用于在显示装置的显示区域中显示被渲染元素的至少一部分,该图形处理组件可被连接至该显示装置。
根据其他示例性实施方式,提供了一种计算机程序产品,包括其上存储有计算机可读指令的非临时性计算机可读存储介质,所述计算机可读指令可由计算化装置执行以使所述计算化装置执行用于在显示装置的显示区域内显示数据集的选定部分的方法,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,所述方法包括:
处理用于所述多个元素的布局信息以识别为在所述显示区域中显示而被渲染的一个或多个元素,所述布局信息指示由所述数据集的布局区域内的相应元素占据的区,基于由相应元素占据的所述区是否与所述数据集的所述布局区域的选定部分相对应来识别所述元素;
渲染所识别的元素;以及
在所述显示装置的所述显示区域中显示所渲染的元素的至少一部分,
其中,对待渲染的所述元素的识别包括处理在由所述分组信息限定的组中的所述元素,所述处理包括根据所述组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组。
附图说明
图1示出了根据现有技术的表示结构化文档的一种示例性数据集。
图2示意性示出了根据本发明实施方式的计算装置的组件。
图3示出了由图2中根据本发明实施方式的计算装置的浏览器执行的步骤。
图4a至图4d示出了由根据本发明实施方式的数据集的对象占据的区域。
图5示出了由图2中根据本发明实施方式的计算装置的浏览器执行的步骤。
图6示出了与结构化文档有关的示例性数据集和所述数据集的两个选定部分。
图7示出了由图2中根据本发明实施方式的计算装置的浏览器执行的步骤。
图8a至图8d示出了根据本发明实施方式的数据集的对象。
具体实施方式
本发明涉及一种用于在显示装置的显示区域内显示数据集的选定部分的方法。本发明例如可被用于显示与结构化文档、图像或数学方程、或者对象(诸如以电子邮件、日历条目、联系人、文件夹等为形式的工作区数据)有关的数据集。
在本发明的一种实施方式中,数据集可与结构化文档有关,该结构化文档可至少部分从利用标记语言描述的内容(例如,诸如超文本标记语言(HTML))来获得。该内容可包括HTML标签的层级,诸如<p>、<div>等,该HTML标签限定了结构化文档的结构和特性。
已知互联网浏览器(以下被称为浏览器)被配置为显示所述结构化文档。为显示结构化文档,浏览器从HTML标签层级构造表示该结构化文档的对象层级。该对象层级在本领域中被称为文档对象模型(DOM)树,并构成与结构化文档有关的数据集。
图1示出了用于根据现有技术来表示结构化文档的HTML内容的一部分的示例性DOM树。该DOM树可包括对象层级,该对象包括表示DOM树顶部的根对象100。DOM树中的对象可包括零个或多个对象,被称为给定对象的子代;例如,对象104具有子代118,以及对象106具有子代110和112。除根对象100之外,DOM树中的每个对象均具有父对象;例如,对象108的父代为对象102。
图1的DOM树中的对象100-112对应于HTML内容中的标签。图1中的对象114-118对应于父标签内包括的文本,这些对象的特性至少部分由父标签限定。例如,对象116对应于已由其父标签108标记为斜体的文本。
浏览器另外使用由HTML内容引用的级联样式表(CSS)数据以显示结构化文档。浏览器可将存储于单独文件中由HTML内容引用的CSS数据与嵌入HTML内容中的CSS数据结合起来使用。DOM树中的对象可指示在CSS数据中限定的样式信息应被用于影响对象特性。DOM树中的对象也可从其父代(或者从其父代的父代等)“继承”在CSS数据中限定的样式信息,所述样式信息应被用于影响对象特性。DOM树中的每个对象可利用来自由对象指示和/或由对象继承的CSS数据的样式信息来注释。
DOM树随后由浏览器处理以在显示区域内显示与文档有关的数据集的至少一部分。DOM树处理可包括来自DOM树的结构化文档的中间表示的产生、DOM树中(或者相应的中间表示中)在数据集的布局区域内的对象布局计算以及DOM树中(或者相应的中间表示中)位于显示区域内的选定对象的渲染。
本发明提供了一种用于在显示装置的显示区域内显示数据集(诸如与以上参照图1描述的结构化文档有关的示例性数据集)的选定部分的改进方法。现将在计算装置背景下详细描述本发明,该计算装置可被配置为执行本发明。
图2示意性示出了所述计算装置200的组件,该计算装置200是用于示出本发明特征的示例性装置。计算装置200可采用计算机服务器、台式计算机、智能手机、个人数字助理(PDA)、电子阅读器、平板电脑(诸如苹果iPad)等形式。计算装置200包括处理器202,该处理器202能发送控制消息到计算装置200内连接至系统总线204的组件,从所述组件接收状态信息以及发送数据到所述组件和从所述组件接收数据,其中,这些组件可包括非易失性存储装置206、随机存取存储器208、用户输入接口210、网络接口212和图形处理组件214。
处理器202(在本实施方式中为微处理器)处理已从非易失性存储装置206加载的存储于随机存取存储器(RAM)208中的指令,该非易失性存储装置206例如可以是快闪存储器或硬盘驱动器。这些指令是以一个或多个程序为形式的计算机软件的形式,所述一个或多个程序实施操作系统218和浏览器220。RAM 208还通过在作为以电子信号形式存储和访问数据的装置的处理器202上运行的程序来使用,其中,数据在程序执行期间被使用。
操作系统218是以程序或程序集为形式的计算机软件,这些程序的指令由处理器202从非易失性存储器206加载并在计算装置200开启时被执行。操作系统218可自动启动其他程序和/或可允许用户例如经由下文描述的由操作系统218提供的用户接口218来启动其他程序。操作系统218能使由处理器202提供的处理能力在处理器202上运行的程序(例如,220)之间共享。
操作系统218为在处理器202上运行的程序提供编程接口,以允许它们从操作系统218请求功能。该编程接口可采用程序形式,即系统调用,在处理器202上运行的程序可使用系统调用来调用操作系统218并请求它提供所需功能。响应于接收对功能的请求,操作系统218可发送控制消息到被连接至系统总线204的组件(例如,206、208、210、212、214),从所述组件接收状态信息,发送数据到所述组件和/或从所述组件接收数据,以便提供所请求的功能,且还可将数据作为结果返回至请求程序。
操作系统218可提供用于存储、修改和访问保存于非易失性存储器206中的文件的文件系统。该文件系统可经由由操作系统218提供的编程接口访问在处理器202上运行的其他程序。
计算装置200包括图形处理组件214,该图形处理组件214能根据由在处理器202上运行的程序做出的命令来渲染图形,并将这些图形输出到显示装置216。显示装置216可以是经由复合视频、分量视频、视频图形阵列、数字可视接口或高清晰度多媒体接口连接被连接至计算装置200的计算机监视器,诸如TFT监视器。在本发明的替代性实施方式中,显示装置216可被结合在计算装置200内,例如,显示装置216可以是嵌入智能手机内的触屏显示器。
在处理器202上运行的程序可处理从用户输入接口210获得的用户输入,该用户输入接口210从单个或多个用户输入装置(未示出)接收用户输入。可被用于发送用户输入到用户输入接口210的用户输入装置例如可包括小键盘、键盘、鼠标、远程控制和/或触屏接口。用户输入装置可经由有线或无线连接而被连接至计算装置200,或者可替代地被结合在计算装置200内。
计算装置200还包括网络接口212(或多个这种接口),该网络接口212允许在处理器202上运行的程序经由通信网络230(或多个这种网络)发送数据到许多其他装置和系统以及从许多其他装置和系统接收数据。
网络接口212(或多个这种接口)可包括无线电访问网络接口(或者多个这种接口),该无线电访问网络接口能与无线接入节点(诸如基站或无线接入点)通信,该无线接入点提供对通信网络230(或者多个这种网络)的访问。网络接口212(或多个这种接口)能够使用许多无线电访问技术中的一个或多个来连接至无线接入节点,该无线电访问技术包括全球移动通信系统(GSM)、通用移动电信系统(UMTS)、长期演进(LTE)、固定无线接入(诸如IEEE 802.16WiMax)和无线联网(诸如IEEE 802.11WiFi)。通信网络230和/或无线访问节点也可提供对互联网的访问。
网络接口212(或多个这种接口)也可包括与相应的通信网络230(或多个这种网络)(诸如互联网和/或私有数据通信网络)一起使用的调制解调器和/或以太网卡或者接口。
操作系统218可包括联网程序,该联网程序允许使用联网协议(诸如(例如)传输控制协议(TCP)或用户数据报协议(UDP))经由网络接口212和通信网络140(或者多个这种网络)在处理器212上运行的程序与外部装置之间进行的通信。联网程序和/或联网处理程序可经由由操作系统218提供的编程接口访问在处理器202上运行的其他程序。
在第一实施方式中,计算装置200的浏览器220可被配置为执行本发明,这包括在显示装置216的显示区域内处理和渲染结构化文档。
因此,计算装置200包括处理装置,该处理装置可被实施为执行浏览器220软件的处理器202,该处理器202可被配置为处理针对多个元素的布局信息以识别为在显示区域中显示而被渲染的一个或多个元素。另外,计算装置200包括渲染装置,该渲染装置可被实施为计算装置200的处理器202和/或图形处理组件214,该处理器202和/或图形处理组件214可被配置为渲染所识别的元素,如下文将更详细描述。计算装置200还包括显示装置,该显示装置可被实施为计算装置200的图形处理组件214,该图形处理组件214可被配置为在显示装置216的显示区域中显示被渲染元素的至少一部分,如下文将更详细描述。
结构化文档可通过浏览器220从HTML内容获得,如上所述。本领域众所周知,结构化文档可被配置为允许它被布置于多个布局区域中各不同大小和/或形状的任何一个内。可选择布局区域的尺寸(例如,其宽度)以匹配显示装置216的显示区域的尺寸。通过结构化文档内的许多对象以及它们在结构化文档内的布局可确定布局区域的其他尺寸。
鉴于显示装置216的显示区域的大小,在该显示区域内可能无法显示整个结构化文档,并同时确保结构化文档内的较小特征(例如,文本)对于用户仍然可见。
浏览器220可因此被配置为在显示装置216的显示区域内显示结构化文档的选定部分。该选定部分可以是结构化文档的布局区域的选定区。选定部分的大小可被配置为确保结构化文档内的较小特征对于用户可见。可改变文档的选定部分以允许用户查看整个结构化文档,一次一个部分。
图3示出了根据本发明第一实施方式的由浏览器220执行以显示结构化文档的选定部分的步骤。步骤300和302完全是常规的且为完整性而将其包括。
最初,浏览器220获得用于结构化文档的DOM树(步骤300)。该DOM树可从利用标记语言的内容(诸如HTML内容)获得,如上概述。
HTML内容可能已被浏览器220以HTML文件的形式经由通信网络230从另一计算装置接收,和/或可替代地,它可能已从非易失性存储器206被接收。
HTML内容可引用浏览器还可从另一计算装置和/或从非易失性存储器206检索到的零个或多个文件。这些其他文件可包括可包含与样式信息有关的CSS数据的CSS文件(如上所述)、可包含由浏览器处理的与HTML内容有关的脚本(例如,JavaScript脚本)的脚本文件、包括音频、图像和/或视频文件的媒体文件、其他HTML文件等。由浏览器220检索到的其他文件可被用于结构化文档的显示。
浏览器200随后使用DOM树来构造结构化文档的零个或多个中间表示(步骤302)。该结构化文档的每个中间表示包括从DOM树中的对象层级获得的节点层级。结构化文档的这些中间表示被用于能使浏览器200通过处理中间表示而不是处理DOM树本身来更高效地渲染结构化文档的一个或多个选定部分。
渲染树的中间表示中的每个节点包括可由浏览器220用于渲染节点的信息。根据用户选择,渲染树中的任何给定节点均可形成由浏览器显示的结构化文档的选定部分的一部分。
浏览器220从DOM树中的每个对象产生中间表示中的零个或多个节点。中间表示中的节点可对应于如在CSS 2.1规范中定义的区块级元素或内联级元素,例如,它可对应于矩形框,该矩形框包括内容区域和可选的周围填充、边框和边缘区域。
样式信息也可由浏览器220附加到中间表示中的每个节点。从DOM树中的对象样式信息可确定用于节点的样式信息,从该DOM树的对象创建节点。
一旦已构建了任何中间表示,浏览器220即确定用于DOM树中的对象的布局信息(步骤304)。
用于DOM树中的对象的布局信息包括与由该给定对象占据的区有关的信息。与由对象占据的区有关的信息包括该对象在结构化文档的布局区域内的大小和位置。
浏览器220可通过计算中间表示中与所述对象相对应(即,由浏览器220从所述对象产生)的节点的大小和位置来间接计算用于DOM树中的对象的布局信息。
针对DOM树中的对象的样式信息可由浏览器220用于确定对象可在结构化文档的布局区域内占据的区。例如,样式信息可指示对象应相对于其父对象的位置或在结构化文档的布局区域内的绝对位置或者根据由CSS 2.1规范定义的特定定位方案来显示。样式信息也可指示父区块大小可通过父区块的子区块的大小和数目来确定,因为子区块中的一些可被配置为被包括在父区块内,父区块的大小必须被选择为容纳它们。
由于样式约束中的至少一些例如要求父区块被布置在可被计算的子节点的位置之前,所以浏览器220可能需要多次处理DOM树中的对象(或者中间表示中它们所对应的节点)以确定包括在布局信息中的每个对象的大小和位置。
浏览器220例如可对DOM树中的对象执行至少第一和第二经过。在第一经过中,浏览器220可以“深度优先”方式处理DOM树中从根节点(例如100)到没有其他子对象的每个子对象的对象层级,即,在处理其同胞(sibling)之前处理子对象的子代。以此方式,DOM树中的每个对象可在结构化文档的布局区域内被分配有初始大小和位置。浏览器220随后可执行DOM树中从树底部(即,从向上没有其他子对象的每个子对象)开始的对象层级的第二经过。在第二经过中,在对象的所有子对象(和子对象的子对象等)已具有它们所确定的大小和位置之后,浏览器220将计算所述对象的大小和位置。
一旦由浏览器220确定,布局信息可由浏览器220存储(例如,在RAM 208中),以多次用于显示结构化文档的选定部分,如下文更详细描述。
一旦已确定针对DOM树中的每个对象(或者中间表示中它们所对应的节点)的布局信息,浏览器220即为DOM树中的对象产生组布局信息(步骤306)。
为DOM树中的对象产生的组布局信息限定了与该对象的子对象的空间关系。该空间关系可被预定义并指定介于结构化文档的布局区域内由对象占据的区与该布局区域内由对象的子对象(和它们的子对象等)占据的区之间的特定关系。
在一种实施方式中,预定义空间关系指定对象的子对象位于布局区域中由所述对象占据的区内。换言之,预定义空间关系可指定对象的子对象位于由所述对象占据的二维欧几里德(Euclidean)空间的子集内。图4a示出了由对象400占据的区以及由所述对象的三个子对象占据的区。由于对象400的子对象位于由所述对象占据的区内,所以对象400与其子对象具有预定义空间关系。
相反,若对象的子对象中的至少一个落在布局区域中由所述对象占据的区外部,则所述对象与所述对象的子对象可能不具有预定义空间关系。图4b示出了由对象420占据的区以及由所述对象的三个子对象占据的区,所述子对象包括落在由对象420占据的区外部的子对象422。由于对象420的子对象中的至少一个落在由所述对象占据的区外部,所以对象420与其子对象不具有预定义空间关系。
若对象具有落在布局区域中由所述对象占据的区外部的至少一个子对象,且所述对象的子对象中的至少一个也落在由所述对象的父代占据的区外部,则所述对象或者所述对象的父代与其相应子对象均不具有预定义空间关系。这也可延伸到所述对象的孙子代对象(即,DOM树层级中第一对象以下的两个级别)落在由所述对象占据的区外部的情况,以及延伸到它们的子对象等(即,所述对象以下的第三和更低级别)。
图4c示出了由对象440占据的区以及由所述对象的两个子对象占据的区,所述子对象包括落在由对象440占据的区内部的子对象442。子对象442本身具有落在由子对象442和对象440占据的区外部的子对象444;因此,对象440或子对象442与其相应子对象均不具有预定义空间关系。
图4d示出了图4c的对比实例。在图4d中,由对象460占据的区以及由所述对象的包括子对象462的两个子对象占据的区落在由对象460占据的区内部。子对象462具有落在由子对象462占据的区外部但却落在由对象460占据的区内部的子对象464。因此,对象460与其子对象具有预定义空间关系,但子对象462与其子对象464不具有预定义空间关系。
根据以上实例生成的组布局信息可被存储以便由浏览器220多次用于显示结构化文档的选定部分,如现将参照步骤308继续描述。
浏览器220识别DOM树中为在显示装置的显示区域中显示而被渲染的对象(或者中间表示中它们所对应的节点)(步骤308)。这可包括处理用于DOM树中的对象的布局信息,特别是识别由结构化文档的布局区域内的对象占据的区是否与结构化文档的布局区域中已被用户选定为用于显示的任何部分相对应。
这包括浏览器220使用针对DOM树中的对象(或者中间表示中它们所对应的节点)的组布局信息(在步骤306中生成)来识别待渲染对象,如现将参照图5说明。对于浏览器处理的DOM树中的每个对象(或者中间表示中该对象所对应的节点),浏览器220测试用于所述对象的布局信息是否指示由所述对象占据的区与结构化文档的布局区域的选定部分相对应(步骤500)。
若由所述对象占据的区至少部分与结构化文档的布局区域的选定部分相对应,即所述对象至少部分占据在布局区域的选定部分内的区,则浏览器220识别或标记用于渲染的对象(步骤502)。
浏览器220随后处理所述对象的每个子对象(或者中间表示中这些对象所对应的节点),以识别这些对象是否应被标记为用于渲染(步骤504)。
若由所述对象占据的区与结构化文档的布局区域的选定部分不对应,即,所述对象甚至不占据在布局区域的选定部分内的区的一部分,则浏览器220检查是否组布局信息指示所述对象与所述对象的子对象是否具有预定义空间关系(步骤508)。
若对象与所述对象的子对象具有预定义空间关系,这也就是说,该组中所有子对象完全包括在所述对象内,则浏览器220确定所述对象的子对象均不与布局区域的选定部分共同定位。浏览器220因此有效忽略该对象的子对象。
类似地,若该对象的子对象具有它们自身的其他子对象,则浏览器220也可忽略其他子对象。
然而,若(在步骤508中)子对象不完全包括在该对象内,则所述对象的子对象可能占据布局区域的选定部分内的区的一部分(步骤514)。因此,浏览器220处理所述对象的每个子对象(或者中间表示中这些对象所对应的节点),以识别这些对象是否应被渲染,并标记用于渲染的对象,或者根据它们相对于布局区域的选定部分的相应位置来做其他处理(步骤516)。
浏览器220因此使用用于DOM树中的对象(或者中间表示中它们所对应的节点)的组布局信息(在步骤306中生成),以减少DOM树中需要被测试以确定哪些对象应被标记为用于渲染的对象数目。
浏览器220因此能以比它测试DOM树中每个对象(或者中间表示中每个对象所对应的节点)(如现有技术中所进行)时可具有的更高效率来识别用于渲染的对象。当DOM树中具有预定义空间关系的对象数目与结构化文档中通常不从HTML内容获得的对象数目相比相对较大时,由浏览器220执行的方法特别有效。
浏览器随后在显示装置216的显示区域内渲染被标记为用于渲染的对象(或者中间表示中它们所对应的节点),以显示结构化文档的布局区域的选定部分(步骤310)。计算装置200的渲染装置(其如上所述可被实施为计算装置200的处理器202和/或图形处理组件214)可因此被配置为渲染被标记为用于渲染的对象。计算装置200的显示装置(其如上所述可被实施为计算装置200的图形处理组件214)可因此被配置为在显示装置216的显示区域中显示被渲染对象的至少一部分。
根据上述将理解,当渲染被标记为用于渲染的对象时,浏览器220使用布局信息来确定显示区域内对象应被渲染的区。对象、附加到对象的样式信息以及利用标记语言描述的内容(例如,HTML标签)(对象源自于该内容)所有均可影响由浏览器220为对象渲染的内容。例如,对象可从HTML<input>标签获得,且按钮可因此被显示,或者对象可从具有样式信息的HTML段落(<p>)标签的文本获得,该样式信息指示文本应带有下划线等来显示。
此外,浏览器220可以指定顺序渲染一个或多个被识别对象,所述指定顺序可从利用标记语言描述的内容获得,DOM树源自于该内容。例如,如上所述,利用标记语言描述的内容可包括具有引用和/或嵌入的CSS数据的HTML标签层级。用于一个或多个HTML标签的CSS数据可包括“z索引”属性,该“z索引”属性指定在指定顺序内从HTML标签获得的哪些对象应被渲染的位置,例如,如CSS 2.1规范中所描述。
上述DOM树中的对象(或者中间表示中这些对象所对应的节点)的中间表示可以由指定顺序指示的顺序通过对象重新排列来生成。这可允许浏览器220更高效地重新渲染DOM树中的对象(或者中间表示中这些对象所对应的节点),这在结构化文档的初始显示之后应被要求。下文更详细描述对结构化文档的选定部分的重新渲染以及为何可能需要这一重新渲染。
一旦结构化文档的选定部分已被显示(例如,在步骤310中),和/或在选定部分正在被显示的同时,浏览器220可接受并处理用户输入,和/或处理与结构化文档有关的脚本(步骤312)。
用户输入可指示用户希望选择结构化文档的不同部分以用于在显示装置216的显示区域中显示。例如,用户可使用触屏输入接口、鼠标、小键盘、键盘等来滚动所显示的结构化文档,使得浏览器220通过改变结构化文档的选定部分来响应。
可替代地,用户输入可指示用户希望改变显示区域的大小,该用户输入也可改变结构化文档的选定部分的大小。另外,浏览器220将通过改变结构化文档的选定部分来响应。
这些动作中的任何一个均触发浏览器220检测结构化文档的选定部分是否已改变(步骤314)。若选定部分已改变,则由于选定部分的改变,浏览器220随后可返回到步骤308来识别DOM树中现在必须为在显示装置216的显示区域中显示而被渲染的对象(或者中间表示中它们所对应的节点)。浏览器随后将继续步骤310以渲染DOM树中所识别的对象等。
至于嵌入结构化文档或者由结构化文档引用的脚本,浏览器220检测是否已针对DOM树改变所处理的脚本(例如,在步骤312中)(步骤316)。可对DOM树进行改变的脚本例如包括由利用标记语言描述的内容引用的JavaScript脚本,DOM树源自于该内容。这些脚本可被嵌入利用标记语言描述的内容中,和/或它们可位于由利用标记语言描述的内容引用(和可能如上所述已被浏览器220检索到)的单独脚本文件中。此外,响应于由浏览器220检测到的事件,可执行该脚本。这些事件可包括用户输入事件、文档相关事件(诸如加载完成或者文档显示)、其他已知HTML事件等。
脚本可因此改变附加到DOM树中的对象的样式信息,和/或改变与DOM树中的这些对象有关的其他属性和/或信息(例如,文本、图像等),和/或添加元素到DOM树或者从DOM树删除元素。
DOM树中对象的大小、形状和/或位置可间接(以及直接)被改变。例如,脚本可对对象的样式信息进行改变,诸如它们的字体大小或定位方案,该字体大小或定位方案反过来将影响这些对象的大小、形状和/或位置。
若通过脚本将对象添加到DOM树或者从DOM树删除对象,则DOM树中用于该对象的布局信息也可被改变。例如,脚本可添加与新的HTML<form>标签相对应的新对象到DOM树,对于该新对象将需要计算布局信息,且该新对象也可影响DOM树中其他对象的位置。
将理解,通过脚本(例如,对DOM树)做出的这些改变可能需要重新渲染DOM树中的对象(或者中间表示中它们所对应的节点)。
若浏览器220检测到通过脚本对DOM树尚未做出改变,则浏览器220将继续接收用户输入并通过返回到步骤312来处理脚本。
否则,响应于对DOM树的改变的检测,浏览器220识别改变是否可能已影响到布局信息(步骤318)。
若浏览器220检测到通过脚本做出的改变尚未影响DOM树中任何对象的大小、形状和/或位置,则所做出的改变可能例如与文本区块的字体颜色的改变、改变固定区域内所显示的图像等有关。浏览器220可因此返回到步骤310,以重新渲染DOM树中所识别的对象,使得所做出的改变可被正确显示。
若浏览器220检测到改变影响了DOM树中对象的大小、形状和/或位置,则必要时,浏览器220重新构造DOM树以及先前从其产生的任何中间表示(步骤320)。由于因添加对象到DOM树或从DOM树删除对象,DOM树中的一个或多个对象的父对象和/或子对象可能需要被更新,所以若一个或多个对象被添加到DOM树或者从DOM树删除一个或多个对象,则浏览器220可能需要重新构造DOM树。浏览器220可能仅重新构造DOM树中受到所做出的改变影响的这些部分。
若浏览器220重新构造DOM树(或者它的一部分),则浏览器可从DOM树构造结构化文档的零个或多个中间表示,如上概述(在步骤302中)。
一旦DOM树和任何中间表示已被重新构造(必要时),浏览器220返回到步骤304以重新确定用于DOM树中的对象(或者中间表示中它们所对应的元素)的布局信息。在步骤308中识别DOM树中现在必须为显示而被渲染的对象以及在步骤310中渲染所识别的对象等之前,由于布局信息的改变可能影响组布局信息,所以浏览器220也在步骤306中重新产生组布局信息。
现将参照图6所示的示例性结构化文档以及所述结构化文档的两个选定部分来说明本发明的特征。结构化文档的DOM树由具有子对象650和660的根节点(未示出)组成。对象650由一个子对象652组成,该子对象652本身由包括子对象654的许多子对象组成。对象660由子对象662组成,该子对象662本身由许多子对象组成。
对象654占据落在由其父对象652占据的区外部以及由所述对象的父代占据的区外部(即,在对象650的区外部)的区。对象650和652因此与它们的子对象不具有预定义空间关系。图6中所有其他对象与它们的子对象均具有预定义空间关系。
为显示结构化文档的选定部分,浏览器220将根据上述图3的步骤来操作,如现将说明。
浏览器220首先识别应被显示的一个或多个对象以显示结构化文档的选定部分600。浏览器确定由对象650和660两者占据的区与结构化文档的布局区域的选定部分600相对应,且因此,这些对象应被标记为用于渲染(由于对象650被包括在部分600内,同时对象660与部分600重叠)。
浏览器220确定对象662的区与选定部分600不对应,并因此将确定对象662不应被标记为用于渲染。因此,且由于对象662与其子对象具有预定义关系,所以浏览器220无需处理对象662的子对象。
浏览器220另一方面确定对象652及其包括对象654的子对象应被标记为用于渲染,并将因此继续在显示区域内渲染所标记的对象。
浏览器220可替代地在选定部分610内显示对象。浏览器220确定对象660和662的区与结构化文档的布局区域的选定部分610相对应,以及因此对象660、662及其子对象应位于一个或多个所识别的对象中。
浏览器220确定对象650的区与选定部分610不对应,并因此将确定对象650不应被标记为用于渲染。然而,由于对象650与其子对象不具有预定义空间关系,所以浏览器220还必须处理对象652。
浏览器220确定对象652的区与选定部分610不对应,并因此将确定对象650不应被标记为用于渲染。然而,对象652与其子对象不具有预定义空间关系,因为对象654在由对象652占据的区外部延伸,所以浏览器220还必须处理其包括对象654的子对象。
浏览器220随后凭借对象654与部分610之间的重叠来确定对象654的区与选定部分610相对应,且因此,对象654应被标记为用于渲染。
浏览器220随后将渲染用于在显示区域内显示的一个或多个所识别的对象。
图6中所示的实例表明本发明可如何被用于减少显示结构化文档的选定部分所需的处理量。当选定部分600被显示时,由于对象662与选定部分600不对应且与其子对象具有预定义空间关系,所以浏览器220无需处理该对象662的子对象。当选定部分610被显示时,由于对象650和对象652与它们的子对象不具有预定义空间关系,所以浏览器220仍将处理该对象650和对象652,从而确保在选定部分610内正确显示对象654。
现将描述本发明的第二示例性实施方式。根据上述第一实施方式来进行第二实施方式,然而,当在步骤302中从DOM树创建一个或多个中间表示时,浏览器220可定义新的对象组,以减少当显示结构化文档的一部分时浏览器220必须处理的对象数目。
在第二实施方式中,计算装置200因此包括处理装置,该处理装置可被实施为执行浏览器220软件的处理器202且可被配置为处理DOM树中在由分组信息定义的组中的元素,以识别待渲染的选定部分。另外,计算装置200包括修改装置,该修改装置可被实施为执行浏览器220软件的处理器202,以用于定义至少一个新元素组,由此在识别待渲染的选定部分之前修改与数据集相关联的分组信息,如将描述。
例如,浏览器220可添加一个或多个配置对象到DOM树并使每个配置对象成为对象子集的父代,以创建新对象组。每个对象子集先前可能已经是在步骤300中构造的DOM树内对象的子代子集。由浏览器220添加到DOM树的配置对象在步骤310中通常不为了显示而通过浏览器220渲染,即使它们位于布局区域的选定部分内;然而,若配置对象的子代位于布局区域的选定部分内,则它们在步骤310中可被渲染,如下文更详细描述。
浏览器220可通过对DOM树中的每个对象执行图7所示步骤来添加一个或多个新对象组到DOM树。浏览器220可首先对DOM树的根对象执行图7所示步骤,且若适用,随后对DOM树的任何子代重复这些步骤。
当对对象执行图7的步骤时,浏览器220首先检查子对象数目是否超过预定义阈值。若子对象数目超过预定义阈值,则浏览器220将该对象的子代中的至少一些分组成对象子集。在本发明的优选排布中,浏览器220将该对象的所有子代分组成多个对象子集,而在其他排布中,仅一些子代被分组成一个或多个子集。
由浏览器220创建的子集数目可通过该对象的子代数目来确定。在第一排布中,由浏览器220创建的子集数目等于预指定数目,诸如2、5、10等,且对象根据预定义分配算法被指派给子集,而在第二排布中,基于子对象数目来确定子集数目。在特别有利的排布中,由浏览器220创建的子集数目大约可以是该对象的子代数目的平方根。以此方式,每个子集中的对象数目可被选择为大致匹配所创建的子集数目。
在另一排布中,浏览器220将该对象的子代任意分组成子集,优选确保该对象的每个子对象仅出现在所创建的子集之一中。
现将参照图8a至图8d描述根据图7的步骤的对象处理。在图8a中,示出了DOM树中以对象800为特征的示例性部分,对象800具有子代810、820、830和840。对象800具有父对象和零个或者多个同胞,其均未示出。
当根据图7步骤处理对象800时,浏览器220首先(在步骤700中)检测对象800的子代数目超过预定义阈值,例如2。浏览器220随后将对象800的子代分割成两个子集(在步骤702中),第一子集包括对象810和820,第二子集包括对象830和840。
如图8b所示,浏览器220随后创建两个配置对象850和860(步骤704)。浏览器220使配置对象850成为第一子集中的对象(即,对象810和820)的父代,并使配置对象860成为第二子集中的对象(即,对象830和840)的父代(步骤706)。浏览器220使对象800成为配置对象850和860的父代(步骤708)。
图8c和图8d中示出了与图8a和图8b相似的实例。图8c中的对象与图8a中的对象相同,即在根据图7步骤处理对象800之前,然而,在图8c中,对象810(其作为对象800的子代之一)本身具有两个子代812和814。图8d示出了在根据图7步骤处理对象800之后,对象810(其现在作为配置对象810的子代之一)保留了其子代812和814。
如上所述,在步骤310中不通过浏览器220渲染添加到DOM树的配置对象(例如,对象850和860)。具体地,配置对象可具有通过浏览器220附加到它们的样式信息,该样式信息指示它们不应在结构化文档内被渲染。另外或者可替代地,配置对象可以是匿名区块级元素和/或匿名内联级元素的形式,如CSS 2.1规范中所定义。
尽管浏览器220可能不渲染根据图7步骤添加的配置对象,然而由于它处理任何其他对象,所以它仍处理这些对象,并因此根据上述图3的步骤304至320来处理。
当在步骤304中由浏览器220确定布局信息时,每个配置对象的大小和位置被设定为使得默认情况下,由配置对象占据的区匹配由其子代占据的区。因此,当在步骤306中由浏览器220确定组布局信息时,每个配置对象将在组布局信息中被标记为具有预定义空间关系。
由配置对象的子代占据的区因此确定配置对象是否占据在由配置对象的父代占据的区内部的区。这可通过父代(例如,800)与其子对象是否具有预定义空间关系来确定,在以上步骤306中通过浏览器220对DOM树中的所有对象确定预定义空间关系。
现将描述图8a和图8b中对象800的预定义空间关系如何受到配置对象850和860的并入的影响的一个实例。在图8a中,假定对象810的区不在其父对象800的区内,同时对象820、830和840的区位于对象800的区内。在步骤306中,浏览器220将因此确定对象800与其子代不具有预定义空间关系。
在图8a中,浏览器220添加配置对象850和860,为此配置对象850和860的大小和位置被设定为使得它们分别匹配由对象810、820和830、840占据的区。
由于对象820和830占据在对象800的区内的区,所以配置对象860将占据在对象800的区内的区。然而,由于对象810的大小和位置,配置对象850不会占据在对象800的区内的区,且对象800将因此与其子代不具有预定义关系。
因此,且由于对象800与其子代不具有预定义空间关系,所以当在步骤308中识别为显示而被渲染的对象时,在上述图8a的实例中,浏览器220将处理对象810至840以确定这些对象是否应被标记为用于渲染。
在图8b的实例中,假定所有对象810至840均在父对象的区内;在处理了对象800之后,浏览器220将首先处理配置对象850和860(以确定这些对象是否应被标记为用于渲染)。若配置对象850和860不在结构化文档的布局区域的选定部分内,且因为所有对象810至840均在对象800内,则所以浏览器不会处理对象810至840。因此,对于图8b的实例,浏览器220已处理比图8a的对象排布所需少两个的对象。
将理解,若配置对象850和860在结构化文档的布局区域的选定部分内,则浏览器220将处理对象810至840以及对象850和860;因此,使浏览器220处理比使用图8a的对象排布所需多两个的对象。
优选地,在步骤702处创建的给定配置对象的子集中的对象数目大于2,确保在步骤308中处理的对象数目总体上减少。更具体地,在一种排布中,子集中子代数目大约可以是子代数目的平方根,子集从子代创建,如上所述。以此方式,仅具有较大数目子代的对象具有被划分为子集的这些子代,例如,具有100个子代的对象可具有被划分为10个子代的10个子集的这些子代。
现将通过以下实例说明根据图7步骤添加一个或多个新对象组的益处,其中,包括100个子代的原始对象具有添加到它的一个新组,所述新组包括10个原始对象子代的子集以及配置对象。
若配置对象的区不在布局区域的选定部分内,则新组中仅配置对象需要被处理,且新组中配置对象的10个子代均不需要被处理,因为如上所述,通过定义,配置对象与它们的相应子代具有预定义空间关系。然而,若配置对象的区在布局区域的选定部分内,则配置对象及其10个子对象(形成子集)需要被处理,这意味着在步骤308中总共处理11个对象。
假定在以上两种情况下,原始对象中剩余90个子代也需要被处理,则当配置对象的区不在布局区域的选定部分内时,91个对象需要被处理,且否则,101个对象需要被处理。
相反,在根据图7中步骤的新组添加之前,若原始元素需要所述处理,则原始对象中的所有100个子代将总是需要处理以识别用于渲染的对象。
在以上实例中可以看出,配置对象增加少量开销到当配置对象(且因此其子代的一个或多个)在选定部分内时处理的对象数目,但配置对象提供了对当配置对象(且因此其子代均不)不在选定部分内时处理的对象数目的处理的显著减少。
现将描述本发明的第三示例性实施方式。第三实施方式根据上述第一或第二实施方式进行,然而,在第三实施方式中,在步骤300中构造的DOM树至少部分使用与一个或多个工作区数据项有关的信息来构造。
与一个或多个工作区数据项有关的信息可通过嵌入利用标记语言描述的内容中的和/或由所述内容引用的至少一个脚本来检索,DOM树从该内容获得。这种脚本可经由通信网络230从非易失性存储器206和/或从另一计算装置检索与一个或多个工作区数据项有关的信息。
工作区数据项可包括电子邮件、日历条目、任务、联系人、音乐文件、图像文件、视频文件、新闻、社交网络信息以及包括短消息服务消息、多媒体消息服务消息和即时消息(IM)的消息。
脚本处理工作区数据项以生成DOM树中的一个或多个对象,每个对象与工作区数据项有关。例如,脚本可生成DOM树中的对象,所述对象形成与列表中与一个或多个工作区数据项有关的条目,诸如电子邮件、日历条目、任务、联系人等列表。该列表可允许用户通过例如从显示列表选择这些条目来访问和/或编辑一个或多个工作区数据项。
可替代地或者另外,脚本在步骤312中可由浏览器处理,该步骤312可能需要浏览器重新渲染结构化文档的选定部分和/或重新构造DOM树以及任何中间表示,如在第一实施方式中所描述。
根据上述将理解,本发明特别适用于显示结构化文档的选定部分,其DOM树包括相对大量的对象(例如,诸如大工作区数据项列表),且其中,这些对象中仅相对较小的数目可在任何时间在显示区域内的选定部分中被渲染。
对于该结构化文档,第一实施方式的方法可避免处理不需要渲染且与它们相应子代具有预定义空间关系的对象子代(步骤308和310)。
第二实施方式的方法可通过将大量子代分组成子集来为所述结构化文档提供除第一实施方式之外的附加益处。当在步骤308和310中子代的子集不需要渲染时,第二实施方式可允许浏览器220仅处理针对子集的一个对象,而不是包括在所有子集内的对象。
以上实施方式应被理解为本发明的示例性实例。本发明的其他实施方式设想如下。
设想上述实施方式的替代性排布,其中,一旦一个或多个中间表示(每个包括节点层级)在步骤302中已被构造,便可针对一个或多个中间表示中与DOM树中的对象相对应的节点而不是针对DOM树中的对象它们自身来执行后续步骤,包括步骤304至320以及图5和图7中所示的步骤,如上文已描述。在该排布中,浏览器220仍可在步骤310中针对DOM树中对象而不是针对中间表示中的节点来处理脚本;然而,在步骤310中通过脚本对DOM树和/或对其对象做出的改变可通过浏览器220被传播到相应的一个或多个中间表示和/或它们的节点,以允许浏览器220在做出任何这种改变之后针对一个或多个中间表示中的节点继续执行步骤304至320。
在本发明的对第一实施方式的替代性实施方式中,浏览器220可被配置为重新使用结构化文档中先前已为了显示而被渲染的渲染选定部分的至少一部分。一旦它们在步骤308中已被渲染,浏览器220便可将结构化文档中的一个或多个渲染选定部分存储于RAM208中。若浏览器220确定例如在步骤314中需要渲染新的显示的选定部分或者在步骤318或步骤320中已发生对布局信息和/或DOM树的改变,则当渲染新的选定部分时,浏览器220可重新使用一个或多个渲染选定部分中的至少一部分,以减少所需处理量。若选定部分已向下滚动,则例如,浏览器202可被配置为重新使用先前渲染的选定部分中的至少一部分,该先前渲染的选定部分包括也在新选定部分中的对象。
在对本发明第二实施方式的替代性实施方式中,浏览器220可被配置为在步骤702中使用预定义策略将对象的子代分组成子集,而不是任意将对象的子代分组成子集。
在一个这种排布中,由浏览器220使用的合适预定义策略可包括浏览器220基于在利用标记语言描述的内容中的标签排布将对象子代中的一些分组成子集,这些子对象对应于该标签排布。例如,若它们对应于HTML标签序列,诸如<div>...</div><div>...</div><div>...</div>等,则浏览器220可将对象子代中的一些分组成子集。由于可有这种子对象可能位于由它们父代占据的区内的较高可能性,所以浏览器220可将子对象分组成子集,使得当它们不在选定部分内时,即,在图7中为子集添加新对象之后,(相比任意选择子对象时)子集不被处理的可能性更高。
在另一排布中,由浏览器220使用的预定义策略可包括浏览器220基于附加到这些子对象的样式信息将对象子代中的一些分组成子集。例如,若它们的样式信息指示它们应使用相同定位方案而被定位,则浏览器220可将对象子代中的一些分组成子集。由于可有这种子对象可位于由它们父代占据的区内的较高可能性,所以浏览器220可将子对象分组成子集,使得当它们不在选定部分内时,即,在图7中为子集添加新对象之后,(相比任意选择子对象时)子集不被处理的可能性更高。
在本发明的替代性实施方式中,浏览器220可接收利用标记语言描述的以存储的保存于数据文件中而不是HTML文件中的DOM树的形式的内容。存储的保存于数据文件中的DOM树可能已通过与计算装置100不同的计算装置从HTML内容预先获得,且可能已通过所述不同计算装置存储于数据文件中。存储的DOM树可能以允许浏览器220比浏览器220直接可从HTML内容获得相同DOM树时将更高效地构造DOM树(例如,在上述步骤300中)的格式被表示在数据文件中。
将理解,HTML是被用于说明本发明的特征的示例性标记语言,且本发明可与其他标记语言一起使用,该其他标记语言包括可扩展标记语言(XML)、可扩展超文本标记语言(xHTML)等。
可替代地,本发明可被用于显示与图像有关的数据集。该数据集可至少部分从利用标记语言描述的内容获得,例如,基于XML的语言,诸如可缩放矢量图形(SVG)。该内容可包括限定图像结构和特征的标签层级,诸如图像内形状和/或对象及其位置和/或外观。由内容引用或者包括在内容内的级联样式表(CSS)数据可限定用于显示图像的样式信息。DOM树可从限定图像的XML标签构造(例如,如在SVG 1.1工作草案中所描述),且随后被用于根据本发明的步骤显示图像。
可替代地,本发明可被用于显示与数学方程有关的数据集的选定部分。该数据集可至少部分从利用标记语言描述的内容获得,例如,基于XML的语言,诸如数学标记语言(MathML)。该内容可包括限定数学方程结构和特性的标签层级。由内容引用或者包括在内容内的级联样式表(CSS)数据可限定被用于显示图像的样式信息。DOM树可从限定数学方程的XML标签构造(例如,如在MathML 3.0提议推荐标准中所描述),且随后被用于根据本发明步骤显示数学方程的选定部分。
应理解,针对任何一种实施方式描述的任何特征可被单独或者结合所描述的其他特征使用,且也可结合任何其他实施方式中的一个或多个特征或者任何其他实施方式的任何组合来使用。此外,在不脱离本发明范围的情况下,也可采用上文未描述的等同物和变形例,本发明的范围在所附权利要求中被限定。

Claims (33)

1.一种用于在显示装置的显示区域内显示数据集的选定部分的方法,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,所述方法包括:
处理用于所述多个元素的布局信息以识别为在所述显示区域中显示而将要被渲染的一个或多个元素,所述布局信息指示由所述数据集的布局区域内的相应元素占据的区,基于由相应元素占据的所述区是否与所述数据集的所述布局区域的选定部分相对应来识别所述元素;
渲染所识别的元素;以及
在所述显示装置的所述显示区域中显示所渲染的元素的至少一部分,
其中,对待渲染的所述元素的识别包括处理在由所述分组信息限定的组中的所述元素,所述处理包括根据组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组,所述预定义空间关系包括由组中的所述较低级别元素占据的区是否落在由所述组中的所述较高级别元素占据的区内。
2.根据权利要求1所述的方法,其中,所述分组信息限定针对组的包括第一较低级别和第二较低级别的多个较低级别,
其中,所述组包括多个所述较低级别元素,至少一个所述较低级别元素处在所述第一较低级别,以及至少一个所述较低级别元素处在所述第二较低级别,以及
其中,所述预定义空间关系包括由所述组中处在所述第一较低级别和所述第二较低级别两者的所述较低级别元素占据的区是否落在由所述组中的所述较高级别元素占据的区内。
3.根据任一前述权利要求所述的方法,其中,所述分组信息限定针对组的包括第一较低级别和第二较低级别的多个较低级别,
对待渲染的所述元素的所述识别包括处理组中的所述元素,所述组包括:
包括处在所述第一较低级别的一个或多个较低级别元素和处在所述第二较低级别的一个或多个较低级别元素的组;以及
包括来自所述组的元素的一个或多个较低级别组,所述较低级别组不包括所述较高级别元素且包括处在所述第一较低级别的元素和处在所述第二较低级别的一个或多个元素,
组中所述元素的处理包括:
根据由所述组中的所述较高级别元素占据的区相对于由所述组中的所述较低级别元素占据的区是否具有预定义空间关系来不同地处理所述组;以及
若由所述组中的所述较高级别元素占据的所述区相对于由所述组中的所述较低级别元素占据的所述区不具有所述预定义空间关系,则根据由第一较低级别组中的第一较低级别元素占据的区相对于由所述较低级别组中的一个或多个第二较低级别元素占据的区是否具有预定义空间关系来不同地处理所述一个或多个较低级别元素的组。
4.根据权利要求1或权利要求2所述的方法,其中,所述不同处理包括:在具有所述预定义空间关系的组的情况下,
确定由所述较高级别元素占据的所述区与所述数据集的所述布局区域的所述选定部分之间的对应关系;以及
选择不确定由所述较低级别元素中的至少一个占据的所述区与所述数据集的所述布局区域的所述选定部分之间的对应关系。
5.根据权利要求4所述的方法,其中,所述不同处理包括:在不具有所述预定义空间关系的组的情况下,
确定由所述较高级别元素占据的所述区与所述数据集的所述布局区域的所述选定部分之间的对应关系;以及
选择确定由所述较低级别元素中的至少一个占据的所述区与所述数据集的所述布局区域的所述选定部分之间的对应关系。
6.根据权利要求1或权利要求2所述的方法,其中,所述数据集的所述布局区域的所述选定部分是所述数据集的所述布局区域的一部分,所述部分通过对所述显示装置的所述显示区域的大小的限制来限定。
7.根据权利要求1或权利要求2所述的方法,其中,当为显示而被渲染时,所述数据集的所述布局区域的所述选定部分与所述显示装置的所述显示区域在大小上基本相等。
8.根据权利要求1或权利要求2所述的方法,其中,对布局信息的所述处理包括确定由组中的所述较高级别元素占据的区相对于由所述组中的所述一个或多个较低级别元素占据的区是否具有所述预定义空间关系,以及根据所述确定,产生指示所述确定的结果的组布局信息,所述组布局信息被包括在所述处理期间被用于识别为在所述显示区域中显示而将要被渲染的一个或多个元素的布局信息中。
9.根据权利要求8所述的方法,包括:响应于对所述多个元素做出的改变,重复对所述数据集的处理。
10.根据权利要求9所述的方法,其中,所述数据集包括脚本数据,且其中,在所述脚本数据的执行期间,响应于对所述多个元素做出的改变,重复对所述数据集的所述处理。
11.根据权利要求9或权利要求10所述的方法,其中,对所述多个元素做出的所述改变包括向所述多个元素添加元素和/或从所述多个元素删除元素。
12.根据权利要求9所述的方法,其中,对所述多个元素做出的所述改变包括对至少一个元素的所述布局信息的改变。
13.根据权利要求8所述的方法,包括:在所述处理之后,存储所述组布局信息,并重复使用存储的所述组布局信息,所述方法包括:
处理包括存储的所述组布局信息的布局信息,以在所述数据集的所述布局区域的所述选定部分覆盖所述数据集的所述布局区域的第一部分时识别为在所述显示区域中显示而将要被渲染的一个或多个元素;以及
重新处理包括存储的所述组布局信息的所述布局信息,以在所述数据集的所述布局区域的所述选定部分覆盖所述数据集的所述布局区域的第二不同部分时识别为在所述显示区域中显示而将要被渲染的一个或多个元素。
14.根据权利要求13所述的方法,其中,响应于用于改变所述数据集的所述布局区域的显示部分的用户输入,执行对所述布局信息的所述重新处理。
15.根据权利要求8所述的方法,包括:在所述处理之后,存储所述组布局信息,并多次使用存储的所述组布局信息,所述方法包括:
处理包括存储的所述组布局信息的布局信息,以识别为在所述显示区域中显示而将要被渲染的一个或多个元素,且当所述一个或多个元素将要在第一显示状态下被渲染时,渲染所述所识别的元素;以及
重新处理包括存储的所述组布局信息的所述布局信息,以识别为在所述显示区域中显示而将要被渲染的一个或多个元素,并在所述一个或多个元素将要在第二不同显示状态下被渲染时,渲染所述所识别的元素。
16.根据权利要求8所述的方法,包括:在所述处理之后,存储所述组布局信息,并多次使用存储的所述组布局信息,所述方法包括:
处理包括存储的所述组布局信息的布局信息,以识别为在所述显示区域中显示而将要被渲染的一个或多个元素,存储识别所述所识别的元素的选择数据,并在所述一个或多个元素在第一显示状态下被渲染时,渲染所述所识别的元素;以及
当所述一个或多个元素在第二不同显示状态下被渲染时,基于存储的所述选择数据,重新渲染所述所识别的元素。
17.根据权利要求1或权利要求2所述的方法,其中,所述布局信息包括所述元素在所述数据集的布局区域内的所述多个元素中的大小和位置。
18.根据权利要求1或权利要求2所述的方法,其中,所述多个元素组中的至少两个元素组形成元素组层级,且其中,所述组层级中的至少一个组的所述较高级别元素也是所述组层级中不同组内的较低级别元素。
19.根据权利要求1或权利要求2所述的方法,其中,所述数据集与一组工作区数据项有关,所述数据集包括数据层级,所述数据层级限定与所述工作区数据项相关联的分组信息。
20.根据权利要求19所述的方法,其中,所述组工作区数据项包括一个或多个电子邮件。
21.根据权利要求19所述的方法,其中,所述组工作区数据项包括一个或多个日历条目。
22.根据权利要求19所述的方法,其中,所述组工作区数据项包括一个或多个联系人。
23.根据权利要求1或权利要求2所述的方法,其中,所述数据集包括标记文件,所述标记文件包括数据层级,所述数据层级限定在所述标记文件中接收到的分组信息。
24.根据权利要求1或权利要求2所述的方法,包括限定至少一个新元素组,由此产生与所述数据集相关联的修改的分组信息。
25.根据权利要求24所述的方法,其中,所述数据集中的所述分组信息限定包括原始较高级别元素和多个原始较低级别元素的原始组,且其中,所述方法包括限定所述至少一个新组以包括所述原始组中所述原始较低级别元素的子集。
26.根据权利要求25所述的方法,其中,在所述数据集中的所述分组信息内限定至少一个原始较低级别组,且其中,所述原始较低级别组包括较高级别元素,所述原始较低级别组的所述较高级别元素为所述原始较低级别元素的所述子集中的元素,且其中,在所述修改的分组信息中,所述至少一个新组包括所述至少一个原始较低级别组。
27.根据权利要求25或权利要求26所述的方法,其中,所述至少一个新组包括至少两个新组,每个组包括所述原始组中的所述原始较低级别元素的不同子集。
28.根据权利要求27所述的方法,其中,所述至少一个新组中的新组数目基本等于所述原始组中的原始较低级别元素的数目的平方根。
29.根据权利要求25所述的方法,其中,在所述修改的分组信息中,修改所述原始组以形成包括所述至少一个新组的修改的原始组。
30.根据权利要求1或权利要求2所述的方法,其中,所述布局信息至少部分从所述分组信息获得。
31.一种计算机设备,被设置为在显示装置的显示区域内显示数据集的选定部分,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,所述计算机设备包括:
处理装置,用于处理用于所述多个元素的布局信息以识别为在所述显示区域中显示而将要被渲染的一个或多个元素,所述布局信息指示由所述数据集的布局区域内的相应元素占据的区,基于由相应元素占据的所述区是否与所述数据集的所述布局区域的选定部分相对应来识别所述元素;
渲染装置,用于渲染所识别的元素;以及
显示装置,用于在所述显示装置的所述显示区域中显示所渲染的元素的至少一部分,
其中,对待渲染的所述元素的识别包括处理在由所述分组信息限定的组中的所述元素,所述处理包括根据组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组,所述预定义空间关系包括由组中的所述较低级别元素占据的区是否落在由所述组中的所述较高级别元素占据的区内。
32.一种用于渲染在显示装置的显示区域内显示的数据集的选定部分的方法,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,
其中,对待渲染的所述选定部分的识别包括处理在由所述分组信息限定的组中的所述元素,所述处理包括根据组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组,所述预定义空间关系包括由组中的所述较低级别元素占据的区是否落在由所述组中的所述较高级别元素占据的区内,所述方法包括:
限定至少一个新元素组,由此在对待渲染的所述选定部分的识别之前修改与所述数据集相关联的所述分组信息。
33.一种计算机设备,被设置为渲染用于在显示装置的显示区域内显示的数据集的选定部分,其中,所述数据集包括多个元素以及限定多个元素组的用于所述元素的分组信息,每个所述组包括较高级别元素和一个或多个较低级别元素,所述计算机设备包括:
处理装置,用于处理在由所述分组信息限定的组中的所述元素以识别待渲染的所述选定部分,所述处理包括根据组中的较高级别元素相对于所述组中的一个或多个较低级别元素是否具有预定义空间关系来不同地处理所述组,所述预定义空间关系包括由组中的所述较低级别元素占据的区是否落在由所述组中的所述较高级别元素占据的区内,以及
修改装置,用于限定至少一个新元素组,由此在对待渲染的所述选定部分的识别之前修改与所述数据集相关联的所述分组信息。
CN201180062749.3A 2010-10-26 2011-10-21 用于显示数据集的方法 Expired - Fee Related CN103339625B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/912,571 2010-10-26
US12/912,571 US9576068B2 (en) 2010-10-26 2010-10-26 Displaying selected portions of data sets on display devices
PCT/EP2011/068458 WO2012055787A1 (en) 2010-10-26 2011-10-21 Method for displaying a data set

Publications (2)

Publication Number Publication Date
CN103339625A CN103339625A (zh) 2013-10-02
CN103339625B true CN103339625B (zh) 2017-05-03

Family

ID=44947053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180062749.3A Expired - Fee Related CN103339625B (zh) 2010-10-26 2011-10-21 用于显示数据集的方法

Country Status (4)

Country Link
US (1) US9576068B2 (zh)
EP (1) EP2633438A1 (zh)
CN (1) CN103339625B (zh)
WO (1) WO2012055787A1 (zh)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8881056B2 (en) * 2010-08-30 2014-11-04 Sap Se Dynamic view computation and display
US9015226B2 (en) 2011-01-06 2015-04-21 Oracle International Corporation Techniques for detecting new browser windows
US8892635B2 (en) 2011-01-06 2014-11-18 Oracle International Corporation Techniques for detecting inactive browser windows
US8924934B2 (en) * 2011-02-04 2014-12-30 Oracle International Corporation Automated test tool interface
US9424236B2 (en) 2011-04-26 2016-08-23 Oracle International Corporation Filtered Stylesheets
US9600350B2 (en) 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
GB2492096B (en) * 2011-06-21 2014-02-19 Canon Kk Method for processing a structured document to render, and corresponding processor
US9514242B2 (en) * 2011-08-29 2016-12-06 Vmware, Inc. Presenting dynamically changing images in a limited rendering environment
US9549045B2 (en) 2011-08-29 2017-01-17 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US9250872B2 (en) 2011-10-19 2016-02-02 Oracle International Corporation Task flow interface in a popup region
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US9705813B2 (en) 2012-02-14 2017-07-11 Airwatch, Llc Controlling distribution of resources on a network
US10257194B2 (en) 2012-02-14 2019-04-09 Airwatch Llc Distribution of variably secure resources in a networked environment
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
US9229610B2 (en) * 2012-10-03 2016-01-05 Adobe Systems Incorporated Methods and systems for visually forming relationships between electronic content
US8965880B2 (en) 2012-10-05 2015-02-24 Google Inc. Transcoding and serving resources
US9247432B2 (en) 2012-10-19 2016-01-26 Airwatch Llc Systems and methods for controlling network access
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
US9473417B2 (en) 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
US9401915B2 (en) 2013-03-15 2016-07-26 Airwatch Llc Secondary device as key for authorizing access to resources
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US9148416B2 (en) 2013-03-15 2015-09-29 Airwatch Llc Controlling physical access to secure areas via client devices in a networked environment
US9819682B2 (en) 2013-03-15 2017-11-14 Airwatch Llc Certificate based profile confirmation
US9203820B2 (en) 2013-03-15 2015-12-01 Airwatch Llc Application program as key for authorizing access to resources
US9378350B2 (en) 2013-03-15 2016-06-28 Airwatch Llc Facial capture managing access to resources by a device
US9275245B2 (en) 2013-03-15 2016-03-01 Airwatch Llc Data access sharing
US10652242B2 (en) 2013-03-15 2020-05-12 Airwatch, Llc Incremental compliance remediation
JP6090431B2 (ja) * 2013-03-27 2017-03-08 富士通株式会社 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US10754966B2 (en) 2013-04-13 2020-08-25 Airwatch Llc Time-based functionality restrictions
US8914013B2 (en) 2013-04-25 2014-12-16 Airwatch Llc Device management macros
US9123031B2 (en) 2013-04-26 2015-09-01 Airwatch Llc Attendance tracking via device presence
US9219741B2 (en) 2013-05-02 2015-12-22 Airwatch, Llc Time-based configuration policy toggling
US9246918B2 (en) 2013-05-10 2016-01-26 Airwatch Llc Secure application leveraging of web filter proxy services
US9058495B2 (en) 2013-05-16 2015-06-16 Airwatch Llc Rights management services integration with mobile device management
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US20140358703A1 (en) 2013-06-04 2014-12-04 SkySocket, LLC Item Delivery Optimization
US9270777B2 (en) 2013-06-06 2016-02-23 Airwatch Llc Social media and data sharing controls for data security purposes
US10437911B2 (en) * 2013-06-14 2019-10-08 Business Objects Software Ltd. Fast bulk z-order for graphic elements
US8924608B2 (en) 2013-06-25 2014-12-30 Airwatch Llc Peripheral device management
US9535857B2 (en) 2013-06-25 2017-01-03 Airwatch Llc Autonomous device interaction
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
US10129242B2 (en) 2013-09-16 2018-11-13 Airwatch Llc Multi-persona devices and management
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
KR102146557B1 (ko) * 2013-11-06 2020-08-21 삼성전자주식회사 어플리케이션의 데이터를 렌더링하는 방법, 장치 및 기록매체
US8924850B1 (en) 2013-11-21 2014-12-30 Google Inc. Speeding up document loading
EP3097496A4 (en) * 2014-01-22 2017-10-11 Ai Squared Emphasizing a portion of the visible content elements of a markup language document
CN105446989B (zh) * 2014-07-04 2019-06-07 阿里巴巴集团控股有限公司 搜索方法及装置、显示装置
US10691299B2 (en) 2014-09-25 2020-06-23 Oracle International Corporation Display of hierarchical datasets using high-water mark scrolling
US10613915B2 (en) * 2014-10-24 2020-04-07 Lenovo (Singapore) Pte. Ltd. Identification of user input within an application
US9584964B2 (en) 2014-12-22 2017-02-28 Airwatch Llc Enforcement of proximity based policies
US9413754B2 (en) 2014-12-23 2016-08-09 Airwatch Llc Authenticator device facilitating file security
CN106326251B (zh) * 2015-06-23 2019-05-17 阿里巴巴集团控股有限公司 待展示对象的全尺寸适配方法及装置
CA3009817A1 (en) * 2015-12-29 2017-07-06 Tao Tao Systems and methods for caching task execution
US9917862B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Integrated application scanning and mobile enterprise computing management system
US9916446B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Anonymized application scanning for mobile devices
JP2018104739A (ja) * 2016-12-22 2018-07-05 ローム・アンド・ハース電子材料株式会社 無電解めっき方法
CN110020311B (zh) * 2017-12-05 2023-03-28 中兴通讯股份有限公司 网页显示方法、浏览器、终端和计算机可读存储介质
US10789913B2 (en) * 2018-01-04 2020-09-29 Qualcomm Incorporated Arbitrary block rendering and display frame reconstruction
US10928982B2 (en) * 2018-10-31 2021-02-23 Salesforce.Com, Inc. Automatic grouping of user interface elements into components
US10489041B1 (en) * 2019-02-21 2019-11-26 Capital One Services, Llc Rule-based user interface layout rearrangement
CN111353112A (zh) * 2020-02-27 2020-06-30 百度在线网络技术(北京)有限公司 页面处理方法、装置、电子设备和计算机可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009072436A1 (ja) * 2007-12-06 2009-06-11 Nec Corporation 階層構造表示装置、階層構造表示方法および階層構造表示制御プログラム
CN101657813A (zh) * 2007-04-04 2010-02-24 香港科技大学 移动设备上网页的自定义渲染

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103049A (ja) * 1992-09-18 1994-04-15 Hitachi Software Eng Co Ltd 仕様抽象化詳細方式
US7971784B2 (en) * 1999-05-25 2011-07-05 Silverbrook Research Pty Ltd Sensing device with mode changes via nib switch
US7171618B2 (en) * 2003-07-30 2007-01-30 Xerox Corporation Multi-versioned documents and method for creation and use thereof
US8051371B2 (en) * 2004-10-25 2011-11-01 Nec Corporation Document analysis system and document adaptation system
US7607082B2 (en) * 2005-09-26 2009-10-20 Microsoft Corporation Categorizing page block functionality to improve document layout for browsing
US7603351B2 (en) * 2006-04-19 2009-10-13 Apple Inc. Semantic reconstruction
CN101063972B (zh) * 2006-04-28 2010-05-12 国际商业机器公司 用于增强映像树的可视性的方法和装置
US8209605B2 (en) * 2006-12-13 2012-06-26 Pado Metaware Ab Method and system for facilitating the examination of documents
US8762556B2 (en) * 2007-06-13 2014-06-24 Apple Inc. Displaying content on a mobile device
US7734714B2 (en) * 2008-01-11 2010-06-08 Spacecurve, Inc. Spatial Sieve Tree
US20090307618A1 (en) * 2008-06-05 2009-12-10 Microsoft Corporation Annotate at multiple levels
US8352855B2 (en) * 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
JP5349127B2 (ja) * 2009-04-27 2013-11-20 株式会社東芝 レイアウト設計支援システム、その制御方法及び制御プログラム
KR20110127455A (ko) * 2010-05-19 2011-11-25 삼성전자주식회사 웹 페이지 분할 장치 및 방법
US20120096389A1 (en) * 2010-10-19 2012-04-19 Ran J Flam Integrated web-based workspace with curated tree-structure database schema

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101657813A (zh) * 2007-04-04 2010-02-24 香港科技大学 移动设备上网页的自定义渲染
WO2009072436A1 (ja) * 2007-12-06 2009-06-11 Nec Corporation 階層構造表示装置、階層構造表示方法および階層構造表示制御プログラム

Also Published As

Publication number Publication date
CN103339625A (zh) 2013-10-02
US20120102392A1 (en) 2012-04-26
EP2633438A1 (en) 2013-09-04
US9576068B2 (en) 2017-02-21
WO2012055787A1 (en) 2012-05-03
WO2012055787A4 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
CN103339625B (zh) 用于显示数据集的方法
US10542123B2 (en) System and method for generating and monitoring feedback of a published webpage as implemented on a remote client
CN109408764B (zh) 页面区域划分方法、装置、计算设备和介质
CN108460104B (zh) 一种实现内容定制的方法和装置
CN104834752B (zh) 浏览器引擎装置及其信息展示方法
CN102591848A (zh) 基于背景的前景特性选择
CN103518195B (zh) 用于基于矢量的表格字段文档的设备、系统和方法
CN102073670B (zh) 一种用于调试在线网页模板的方法、设备及系统
US11907644B2 (en) Detecting compatible layouts for content-based native ads
CN103164423B (zh) 一种用于确定渲染网页的浏览器内核类型的方法与设备
US10649618B2 (en) System and method for creating visual representation of data based on generated glyphs
US10817895B2 (en) Marketing campaign system and method
CN103942231B (zh) 一种网页的显示方法及电子设备
CN112631591B (zh) 表元素联动方法、装置、设备与计算机可读存储介质
CN102053987A (zh) 用于显示和修改数据数组的统一接口
CN110506267A (zh) 数字组件背景渲染
CN106789856A (zh) 一种信息编码方法、解码方法及装置
CN106649299A (zh) 一种网页区块懒加载的方法和装置
CN108604232A (zh) 通过模型化滚动行为而改善信息源
CN113126984A (zh) 基于表格组件的数据渲染方法、系统、设备及存储介质
CN109478202A (zh) 可缩放矢量图形包
CN104036028B (zh) 一种电子文档信息片段的处理系统与电子文档信息片段的生成、处理、差异化显示的方法
KR20120109589A (ko) 오브젝트 제어 방법, 오브젝트 제어 프로그램을 기록한 컴퓨터 판독 가능 기록 매체 및 웹 서버
CN106055688A (zh) 搜索结果的展现方法、装置和移动终端
US11244101B2 (en) Declarative interface for interaction design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170112

Address after: Voight, Canada

Applicant after: Good Technology Holdings Limited

Address before: Delaware

Applicant before: Visto Corp.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170503

Termination date: 20171021