CN101405723B - 初始动态呈现控件数据估计 - Google Patents

初始动态呈现控件数据估计 Download PDF

Info

Publication number
CN101405723B
CN101405723B CN2007800092548A CN200780009254A CN101405723B CN 101405723 B CN101405723 B CN 101405723B CN 2007800092548 A CN2007800092548 A CN 2007800092548A CN 200780009254 A CN200780009254 A CN 200780009254A CN 101405723 B CN101405723 B CN 101405723B
Authority
CN
China
Prior art keywords
page
rendering control
dynamic rendering
webpage
network
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
CN2007800092548A
Other languages
English (en)
Other versions
CN101405723A (zh
Inventor
N·科塔里
P·M·保罗斯
B·C·勒鲁瓦
E·J·利普顿
K·阿拉姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101405723A publication Critical patent/CN101405723A/zh
Application granted granted Critical
Publication of CN101405723B publication Critical patent/CN101405723B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

使用动态呈现控件以便于网页呈现。服务器标识要下载到客户机的页面的表示。该表示包括可被用来呈现该页面的一部分的动态呈现控件。服务器估计要被动态呈现控件用来正确呈现的初始数据集,并发送包括所估计的初始数据集的网络响应,而非将获取对该初始数据集的访问留给客户机。在执行呈现组件时,客户机可以仅仅使用该网络响应中提供的数据来呈现该部分页面,而非必须从网络源获取对数据的访问。

Description

初始动态呈现控件数据估计
背景
计算技术对人类进步贡献巨大。计算***以各种各样的物理形式出现,包括台式计算机、膝上型计算机、个人数字助理、电话、甚至常规上不被认为是计算***的设备,诸如例如冰箱和汽车。因此,计算***可以是具有任何类型的处理器和存储器的任何设备或***。
计算***通常联网在一起以便这些计算***可以通信。网络可以像耦合两台计算机的单个有线或无线链路一样简单,或像因特网一样复杂。最常用的应用程序中的许多都依赖于网络技术。这些应用程序包括,例如,电子邮件、即时消息通信、web浏览、远程网络访问、电子白板、IP语音电话通信、视频会议、远程同步以及许多其它应用程序。在web浏览技术中,一个计算***(通常被不严格地称为“客户机”)向另一计算***(被不严格地称为“服务器”)发送对页面的请求。服务器随后用该页面的表示来响应客户机,在该客户机处,该表示被显示在屏幕上。
有若干广泛的技术用于下载页面以使其可被显示在客户机上。一种技术涉及服务器生成用于页面的完整的呈现指令并随后将这些呈现指令下载到客户机。客户机随后解析并执行这些呈现指令。呈现指令的一个示例是超文本标记语言(HTML)页面。该技术的一个优点是可以在单个请求-响应来回中下载整个页面。该技术的一个缺点是如果该页面将以任何方式改变(例如,在用户选择该页面的一部分时),在客户机向服务器发送新请求后,服务器向客户机发送另一组完整的呈现指令。这要求服务器上的大量处理资源以在每次网页以任何方式被更改时制定呈现指令。
另一技术很不相同,而并不要求在每次该网页改变时都下载整个网页。在服务器接收到对页面的请求时,服务器只生成呈现该网页所需要的呈现指令的一部分。例如,服务器可以生成表示该页面的支架的HTML。服务器下载该HTML以及在客户机上执行的控件。这些控件包括准许客户机执行一个或多个功能的逻辑。为执行其功能,该控件可以潜在地与其它客户机侧控件或甚至与服务器交互。一种控件(在此也被称为“动态呈现控件”)呈现出诸如,例如HTML等呈现指令。动态呈现控件准许逻辑在呈现控件时考虑客户机已知、但不必是服务器已知的状态信息。如果状态信息改变,则控件的所显示的形式也可以改变而不必向服务器重新请求页面。因此,在许多情况下,使用嵌入在HTML支架中的动态呈现控件准许更大的灵活性。
不幸的是,有时客户机不总是具有动态呈现控件为在显示器上正确地呈现所需要的所有信息。在这一情况下,动态呈现控件使得客户机通过网络或从最初将该页面下载到客户机的服务器,或从不同的服务器或服务器集群一起请求信息。因此,虽然使用动态呈现控件技术可以更灵活,但其还是可能需要第二个请求-响应来回,从而在呈现页面时引入进一步的等待时间和网络带宽要求。
简要概述
尽管并非所需,但本发明的各实施例涉及向客户机的页面下载。在服务器从客户机接收到对该页面的请求时,服务器标识对应于该网络请求的页面的表示,该表示包括可被用来呈现该页面的一部分的动态呈现控件。服务器估计将由该动态呈现控件用于正确地呈现其部分初始页面的初始数据中的至少某一些,而非将通过网络获取对该初始数据的访问留给客户机。服务器随后发送包括初始数据的全部或某一些的网络响应。在执行动态呈现控件时,客户机可以仅仅使用该网络响应中提供的初始数据来呈现该部分页面,而非必须在第二个来回中从网络资源获取对初始数据的访问。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
使用附图以更具体地描述本发明的各实施例。可以理解这些附图仅描述本发明的各典型实施例,从而不被认为是对其范围的限制,各实施例将通过使用附图用附加特征和细节来描述和说明,附图中:
图1示出本发明的原理的各实施例可在其中操作的计算***;
图2示出根据本发明的各实施例的客户机和服务器之间的请求-响应流程,其中该响应包括给动态呈现组件的初始数据;
图3A示出根据本发明的各实施例的最初使用服务器所提供的初始数据来呈现页面的方法的流程图;
图3B示出动态呈现控件重新呈现其相关联的部分页面的方法的流程图;
图4示意性地示出具有相关联的初始数据源数据结构的页面的表示;以及
图5示出供服务器使用该初始数据源数据结构从另一网络源访问该初始数据的方法的流程图。
详细描述
本发明的各实施例涉及便于在将包含动态呈现控件的初始网页下载到客户机时,通过为动态呈现控件提供初始数据由服务器来呈现网页。因此,动态呈现控件可以仅仅使用响应于原始页面请求所提供的初始数据来呈现其部分网页,而非客户机为动态呈现控件进一步请求初始数据以呈现其部分初始页面。因此,最初可使用单个请求-响应来回来呈现该页面,而同时仍然准许使用动态呈现控件以在保证更新时更新网页。
本发明的各实施例可以包括含有各种计算机硬件的专用或通用计算机,这将在以下做出进一步讨论。图1示出可用于实现本发明的特征的示例计算***100的示意图。所述计算***只是这种合适的计算***的一个示例,而并不旨在对本发明的使用范围或功能提出任何限制。也不应该把本发明解释为对图1中示出的任一组件或其组合有任何依赖性或要求。
计算***现在越来越多地采用各种各样的形式。计算***例如可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算***、或甚至常规上不被认为是计算***的设备。在本说明书和权利要求书中,术语“计算***”被广义地定义为包括包含至少一个处理器以及其上能含有可由处理器执行的计算机可执行指令的存储器的任何设备或***(或其组合)。存储器可采取任何形式,且可取决于计算***的本质和形式。计算***可分布在网络环境上,且可包括多个组成计算***。
参考图1,在其最基本的配置中,计算***100一般包括至少一个处理单元102和存储器104。存储器104可以是***存储器,它可以是易失性的、非易失性的或两者的某种组合。易失性存储器的示例包括随机存取存储器(RAM)。非易失性存储器的示例包括只读存储器(ROM)、闪存等。术语“存储器”也可在此处用来指诸如物理存储介质等非易失性大容量存储。这样的存储可以是可移动或不可移动的,且可包括(但不限于)PCMCIA卡、磁盘和光盘、磁带等。
如此处所使用的,术语“模块”或“组件”可以指在计算***上执行的软件对象或例程。此处描述的不同的组件、模块、引擎和服务可被实现为在计算***上执行的对象或进程(例如,作为分开的线程)。尽管此处描述的***和方法可用软件实现,但用硬件以及软件和硬件的组合的实现也是可能的且已被想到。
在以下描述中,参考由一个或多个计算***执行的动作来描述本发明的各实施例。如果这些动作是用软件实现的,则相关联计算***中执行该动作的一个或多个处理器响应于执行了计算可执行指令而引导计算***的操作。这样的操作的一个示例涉及对数据的操纵。计算机可执行指令(和所操纵的数据)可被存储在计算***100的存储器104中。
计算***100也可包含允许计算***100例如通过网络110与其它计算***通信的通信信道108。通信信道108是通信介质的示例。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、无线电、红外线和其它无线介质。如此处所用的术语计算机可读介质既包括存储介质又包括通信介质。
本发明的范围内的各实施例也包括用于承载或其上储存有计算机可执行指令或数据结构的计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可包括物理存储和/或存储器介质,诸如RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或可用于承载或存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其它介质。当信息通过网络或另一通信连接(硬连线、无线或硬连线或无线的组合)传输或提供给计算机时,计算机将该连接完全视为计算机可读介质。因此,任何这样的连接被适当地称为计算机可读介质。以上的组合也应包括在计算机可读介质的范围之内。
计算机可执行指令包括例如,使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于在此所述的具体特征或动作。相反,在此所述的具体特征和动作是作为实现权利要求的示例形式公开的。
图2示出根据本发明的原理的客户机210和服务器220之间的便于页面下载的通信的逻辑流程。页面可以是例如可以包括表示客户机可以解析并执行以显示页面的静态部分的静态呈现指令的基于文本的标记语言的网页。例如,网页通常使用超文本标记语言(HTML)作为其基本支架,连同脚本组件和其它标记语言组件(例如,可扩展标记语言(XML)组件)来制定。
页面还可以包括一个或多个动态呈现控件。在被实例化时,动态呈现控件使用相关数据来动态地呈现该页面的一部分。这种相关数据可以存在于服务器所提供的动态呈现控件中;可以存在于客户机上;或可以由客户机通过网络获得。如果该相关数据将改变,则动态呈现控件可以重新呈现页面的该部分而客户机不必重新请求更新过的网页。因此,动态呈现控件是动态的且灵活地相应改变数据。
在本说明书和权利要求书中,可能偶尔提到“客户机”计算***和“服务器”计算***。在本说明书和权利要求书中,术语“客户机”和“服务器”旨在被广义地解释。因此,术语“服务器”或“服务器计算***”因而是向另一计算***提供任何类型的服务的任何计算***。术语“客户机”或“客户机计算***”是使用另一计算***提供的任何类型的服务的任何计算***。本领域普通技术人员将认识到,联网技术已经变得比过去的简单的客户机-服务器拓扑更复杂了。因此,单个计算***可以既使用又提供服务,并且因此可以既是客户机又是服务器计算***。
图3A示出以不要求动态呈现控件做出其自己的对呈现所需的附加数据的请求而方便动态呈现控件的方式下载网页的方法300A的流程图。因此,初始网页可以使用单个来回请求-响应组合来显示,从而提高了显示初始页面时的效率和性能。图2的客户机210所执行的动作列于图3A的左半边、标题“客户机”下。图2的服务器220所执行的动作列于图3A的右半边、标题“服务器”下。方法300可以使用图2的逻辑流程200来执行。因而,现在将频繁互相参考来描述图2和图3A。
客户机确定要显示一个页面(动作311)。例如,用户可以与web浏览器接口并选择当前网页中的一个超链接或可能选择一个统一资源定位符(URL)。例如,URL可通过在web浏览器的地址栏中键入URL来选择。
作为响应,客户机随后提交对相关联的页面的请求(动作312)。该请求(在此还被称为“网络请求”)在图2中被表示为请求211,而其传输使用箭头A来表示。该请求可以遵守超文本传输协议(HTTP)的任何版本,并且例如可以是HTTP GET请求。然而,该请求可以是根据准许该请求在该客户机和服务器之间传送的任何协议的任何请求。
在从客户机接收到对页面的网络请求后(动作331),服务器标识对应于该网络请求的网页的表示(动作332)。例如,服务器可以访问和/或制定供客户机在呈现该页面时执行的呈现指令。
图4抽象地示出可存在于服务器上、可被服务器访问或制定的页面表示数据结构400。该页面表示包括可以是例如定义该页面的基本支架的HTML代码的静态呈现指令401。页面表示400还可以任选地包括可以被客户机执行以呈现该页面的动态部分的脚本402。页面表示400还可以包括至少一个动态呈现控件403,其实例将允许客户机使用该动态呈现控件中存在的相关数据在客户机上和/或通过网络动态地呈现该页面的对应部分。页面表示400还可以包括由纵向省略号404所表示的其它项目。
服务器估计动态呈现控件最初呈现页面的该部分所需的初始数据(动作333),而非将通过网络访问动态呈现控件正确呈现所需的任何初始数据留给客户机。该估计可以用提供呈现初始页面的相关联部分所需要的初始数据的任何方式来实现。在一实施例中,页面的作者仅仅在服务器上包括与该页面相关联的数据结构(例如,为清楚起见以下称为“初始数据源数据结构”)。例如,初始数据源数据结构410被示为具有与所需页面的页面表示400的关联411。初始数据源数据结构410甚至可以最初被包括在页面表示400中。
初始数据可以被包括在初始数据源数据结构中。在这种情况下,估计初始数据将仅仅涉及访问初始数据源数据结构410和确保包括在初始数据源数据结构中的初始数据被包括在响应中。另选地,如果给动态呈现组件的初始数据不在初始数据源数据结构410中,则初始数据源数据结构410可能包括对服务器的关于如何访问该初始数据的指令。对于该后一情形,图5示出用于在要求服务器通过网络访问初始数据时估计该初始数据的方法500。
具体地,服务器访问与该页面表示相关联的初始数据源数据结构(动作501)。在这一情况下,初始数据源数据结构提供从中可获得该初始数据的网络源。服务器随后从初始数据源数据结构中指定的网络源请求该初始数据(动作502),随之从网络源接收该初始数据(动作503)。
例如,初始数据源数据结构可以在服务器上如以XML伪码表示地出现如下:
<asp:InitialData RunAt=”Server”
  SourceURL=“MYSVC.ASMX”
  AssociatedDataSource=“DS1”/>
在该数据结构中,该数据结构的标题为“InitialData(初始数据)”,并且属性“RunAt(运行于)”的值为“Server(服务器)”,其指示该数据结构将在该服务器上解析,而不是被发送到客户机以供执行。SourceURL(源URL)元素指定该初始数据可在对应于URL“MYSVC.ASMX”的位置找到。AssociatedDataSource(相关联的数据源)元素指定该初始数据对应于包括在该页面中的一数据源元素。因此,在访问该初始数据时,该初始数据可被置入该数据源元素中或与其相关联。客户机随后可以知道哪里可以找到该初始数据。
返回到图3,因而可以估计该初始数据(动作323)。在本说明书和权利要求书中,对初始数据的“估计”还可以包括对初始数据的确定性标识。因而,术语“估计”的使用不应被解释为要求关于初始数据正确与否有任何不确定性。然而,本发明的原理确实延及其中初始数据的正确性可能被怀疑的情况。
不管初始数据被如何估计,服务器随后向客户机发送对应于该请求的网络请求(动作334)。在图2中,该网络响应由响应212表示,而其传输由箭头B表示。网络响应212包括页面的表示的至少经变换的版本和给其动态呈现组件的所估计的初始数据。这一初始数据由包括在图2的网络响应212的动态呈现控件214中或与其相关联的初始数据213示意性地表示。页面表示可以是,例如,被变换为适合传输的格式的基于文本的表示(如HTML网页)。例如,该网页可以被压缩和/或加密,并被串行化。可以在该网络响应中为包括在该网络响应中的多于一个动态呈现控件估计和包括初始数据。
客户机一旦接收到该网络响应(动作313),该客户机随后显示该网页。为做到这一点,客户机执行包括在服务器所提供的页面表示中的任何静态呈现指令(参见图4的401)和脚本(参见图4的402)。另外,客户机开始执行每一动态呈现控件(动作314)。
为执行动态呈现控件,客户机首先使用客户机上存在的相关信息来实例化动态呈现控件。动态呈现控件可以是呈现控件树中的一个节点。例如,呈现控件可能是“ListView(列表视图)”控件,但是本发明的原理不限于该控件类型。
动态呈现控件随后确定是否需要附加初始数据以完全呈现其部分网页(判定框315)。如果不需要(判定框315中的否),则可以使用该动态呈现控件来呈现网页的对应部分(动作316)。如果需要(判定框315中的是),则该动态呈现控件随后确定该网络响应是否包括对初始数据的估计(判定框317)。如果初始数据存在于该网络响应中(判定框317中的是),则动态呈现控件随后根据在该网络响应中找到的附加初始数据来确定其现在是否拥有呈现其部分初始网页所需要的全部初始数据(返回到判定框315)
在一实施例中,初始数据可能已从该页面表示的数据源数据结构中获得。在这一情况下,初始数据可以被动态呈现控件通过向数据源组件查询初始数据来访问,随之数据源组件向呈现组件提供初始数据。
例如,假定动态呈现控件是“ListView”控件。动态呈现控件可如下出现:
<ListView AssociatedDataSource=“D1”
   其它列表视图属性和状态
/>
该ListView控件指定其将要去访问初始数据的数据源由“D1”标识。以下表示被标识为“D1”对应数据源控件的示例:
<DataSource ID=“D1”>
  <Data>
     初始数据
  <Data>
</DataSource>
此处初始数据被包括在Data Source(数据源)控件的Data(数据)元素中。数据源控件包括将数据源组件标识为“D1”的属性“ID”。因此,ListView组件将访问数据源控件中的初始数据。该初始数据可以是结构化的数据(如可能使用XML来表示)或可以是未结构化的数据,只要数据可以被动态呈现控件解释或可被客户机更改以使之可被动态呈现控件解释。
在这一情况下(判定框317中的是,之后是判定框315中的否),初始数据被包括在网络响应中,并且因此动态呈现控件能够呈现而不必执行第二个请求-响应来回。如果有给通常需要一个或多个另外的请求-响应来回的动态呈现控件的一个或多个的初始数据,则呈现过程已从那些另外的来回中保存,因而提高了呈现初始网页时的性能。这一保存在考虑网页中可能有许多动态呈现控件且那些动态呈现控件中的每一个都可能需要不止一个另外的来回以便获得呈现其相应的部分显示所需要的所有数据时尤为明显。
例如,如果网络响应未包括初始数据(判定框317中的否),则客户机随后将从另一网络源请求数据(动作318)。例如,在图2中,客户机发送对数据的请求221,由传输C表示。该另一网络源可以是服务器220或可以是某一其它服务器。该请求可以涉及动态呈现控件向数据源控件查询数据。作为响应,数据源控件可以从该数据源控件中所标识的网络源请求附加数据。例如,数据源控件可以改为结构化如下:
<DataSource ServiceURL=“MYSVC.ASMX”ID=“D1”>
一旦数据通过网络被返回给数据源控件(参见图2中的包括含有数据223的第二响应222的传输D),数据源控件随后将该数据返回给动态呈现控件。动态呈现控件随后可以使用从该另一网络源获得的数据以使用呈现组件来呈现该部分网页(动作316)。
这准许在其中初始数据响应于初始网页请求被返回的情况下使用单个请求和响应来呈现初始网页。图3B示出如果网页将要更新,一旦动态呈现控件确定其相关联的部分网页将被更新时将在客户机上发生的过程300B。具体地,在检测到其部分网页将要被更新后(动作320),动态呈现控件访问呈现更新过的页面所需要的更新过的数据(动作321)。这可以涉及动态呈现控件通过网络访问更新过的数据。动态呈现控件随后使用该更新过的数据来更新其部分网页(动作322)。
虽然参考图3A和3B描述了各个方法,但是本发明的原理延及包括其上具有一个或多个计算机可执行指令的一个或多个计算机可读介质的计算机程序产品,这些指令在被服务器计算***上的一个或多个处理器执行时使该计算***执行这些方法中的全部或部分或任一个或两者。例如,参考图1,存储器104和通信信道108可以表示这种计算机可读介质的示例。存储器104表示物理存储和/或存储器介质形式的物理计算机可读介质的示例。本发明的原理还延及计算***本身,其通过硬件、软件或硬件和软件的组合来配置以执行图3A和/或图3B的方法的所有部分。
因而,本发明的原理允许一机制使用页面中的动态呈现控件而同时避免了对动态呈现控件使用额外网络带宽来获取动态呈现控件最初呈现的所需要的信息的任何需要。这从而提高了呈现网页时的效率。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所述实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方式的含义和范围内的所有改变应被权利要求书的范围涵盖。

Claims (16)

1.一种供服务器计算***便于在客户机上呈现页面的方法,所述方法包括:
从客户机接收对页面的网络请求;
标识对应于所述网络请求的页面的表示,其中所述表示包括可被用来呈现所述页面的一部分的至少一个动态呈现控件,其中所述动态呈现控件包括一准许用户执行一个或多个功能的逻辑,并可当状态信息改变时改变所显示的形式;
估计所述动态呈现控件正确地呈现所述页面的所述部分所需要的初始数据集的一些或全部,并创建一估计,该估计包括动态呈现控件用于初始呈现所述页面的所述部分所需要的所有初始数据集;以及
向所述客户机发送网络响应,所述网络响应对应于所述网络请求且包括:所述页面的表示的至少一个经变换的版本,其中所述经变化的版本至少包括:(i)静态呈现指令;(ii)可由客户机执行以呈现所述页面的动态部分的脚本;(iii)动态呈现控件,当其实例化时允许客户机呈现所述页面的一部分;以及(iv)估计,其包括动态呈现控件被客户机实例化时用于初始呈现所述页面的所述部分所需要的所有初始数据集,其中该估计被配置为允许所述动态呈现控件在被客户机执行时获得动态呈现控件用于初始呈现页面的所述部分所需要的所有初始数据集,而无需额外的网络通信。
2.如权利要求1所述的方法,其特征在于,所述页面的表示是基于文本的表示,且使用所述页面的所述表示的经变换的版本来发送。
3.如权利要求2所述的方法,其特征在于,所述页面的表示的所述经变换的版本是被变换为适合传输的格式的所述基于文本的表示的版本。
4.如权利要求1所述的方法,其特征在于,所述估计所述初始数据集的一些或全部的动作包括:
从所述页面的表示访问初始数据源数据结构的动作,所述初始数据源数据结构指定所述初始数据集。
5.如权利要求1所述的方法,其特征在于,所述估计所述初始数据集的一些或全部的动作包括: 
从所述页面的表示访问初始数据源数据结构的动作,所述初始数据源数据结构提供从中可以获得所述初始数据的网络源;
从所述网络源请求所述初始数据的动作;以及
响应于从所述网络源请求所述初始数据而从所述网络源接收所述初始数据的动作。
6.一种供服务器计算***便于在客户机上呈现页面的***,所述***包括:
用于从客户机接收对页面的网络请求的装置;
用于标识对应于所述网络请求的页面的表示的装置,其中所述表示包括可被用来呈现所述页面的一部分的至少一个动态呈现控件,其中所述动态呈现控件包括一准许用户执行一个或多个功能的逻辑,并可当状态信息改变时改变所显示的形式;
用于估计所述动态呈现控件正确地呈现所述页面的所述部分所需要的初始数据集的一些或全部,并创建一估计的装置,该估计包括动态呈现控件用于初始呈现页面的所述部分所需要的所有初始数据集;以及
用于向所述客户机发送网络响应的装置,所述网络响应对应于所述网络请求且包括所述页面的表示的至少一个经变换的版本,其中所述经变化的版本至少包括:(i)静态呈现指令;(ii)可由客户机执行以呈现所述页面的动态部分的脚本;(iii)动态呈现控件,当其实例化时允许客户机呈现所述页面的一部分;以及(iv)估计,其包括动态呈现控件被客户机实例化时用于初始呈现所述页面的所述部分所需要的所有初始数据集,其中该估计被配置为允许所述动态呈现控件在被客户机执行时获得动态呈现控件用于初始呈现页面的所述部分所需要的所有初始数据集,而无需额外的网络通信。
7.一种供客户机计算***下载页面的方法,所述方法包括:
响应于被发送到服务器的对网页的请求,接收对所述请求的响应,所述响应是包括可被用来呈现所述网页的一部分的至少一个动态呈现控件的网页的表示的形式,其中所述网页的所述表示至少包括:(i)静态呈现指令;(ii)可由客户机执行以呈现页面的动态部分的脚本;(iii)至少一个动态呈现控件,当其被实例化时,可由客户机计算***用于呈现所述网页的一部分;以及 (iv)估计,其包括动态呈现控件在被客户机计算***实例化时所需的用于正确呈现所述页面的所述部分的初始数据集,其中,所述动态呈现控件包括一准许用户执行一个或多个功能的逻辑,并可当状态信息改变时改变所显示的形式;
执行所述动态呈现控件;
在执行所述动态呈现控件时,执行如下动作:
确定需要附加数据以初始呈现所述网页的所述部分;
确定所述网络响应是否还包括对所述附加数据的估计;
当确定所述网络响应包括对所述附加数据的估计,则使用来自所述服务器的网络响应中提供的对所述附加数据的估计使用所述动态呈现控件来呈现所述网页的所述部分,而无需在接收所述网络响应后请求额外的网络通信以要求初始呈现网页的所述部分所需要的附加数据;以及
当确定所述网络响应不包括对所述附加数据的估计,则从另一网络源请求所述附加数据,并使用从所述另一网络源获得的所述附加数据使用所述动态呈现控件来呈现所述网页的所述部分。
8.如权利要求7所述的方法,其特征在于,所述网络响应包括数据源控件的表示,其中所述使用对所述附加数据的估计的动作包括:
所述动态呈现控件向所述数据源控件查询所述附加数据的动作;以及
所述数据源控件向所述动态呈现组件提供包括在所述数据源控件中的所述附加数据的动作。
9.如权利要求7所述的方法,其特征在于,所述网络响应包括数据源控件的表示,其中所述从另一网络源请求所述附加数据的动作包括:
所述动态呈现控件向所述数据源控件查询所述附加数据的动作;以及
所述数据源控件从所述数据源组件中标识的网络源请求所述附加数据的动作。
10.如权利要求7所述的方法,其特征在于,还包括:
检测所述网页要被更新的动作;
所述动态呈现控件访问更新过的数据的动作;以及 
所述动态呈现控件使用所述更新过的数据来重新呈现所述网页的所述部分的动作。
11.如权利要求10所述的方法,其特征在于,所述动态呈现控件访问更新过的数据的动作包括:
所述客户机计算***通过网络请求所述更新过的数据的动作。
12.如权利要求7所述的方法,其特征在于,所述请求是超文本传输协议(HTTP)请求。
13.一种供客户机计算***下载页面的***,包括:
用于响应于被发送到服务器的对网页的请求,接收对所述请求的响应的装置,所述响应是包括可被用来呈现所述网页的一部分的至少一个动态呈现控件的网页的表示的形式,其中所述网页的所述表示至少包括:(i)静态呈现指令;(ii)可由客户机执行以呈现页面的动态部分的脚本;(iii)至少一个动态呈现控件,当其被实例化时,可由客户机计算***用于呈现所述网页的一部分;以及(iv)估计,其包括动态呈现控件在被客户机计算***实例化时所需的用于正确呈现所述页面的所述部分的初始数据集,其中,所述动态呈现控件包括一准许用户执行一个或多个功能的逻辑,并可当状态信息改变时改变所显示的形式;
用于执行所述动态呈现控件的装置;
用于在执行所述动态呈现控件时,使能如下装置的装置:
用于确定需要附加数据以初始呈现所述网页的所述部分的装置;
用于确定所述网络响应是否还包括对所述附加数据的估计的装置;
用于当确定所述网络响应包括对所述附加数据的估计,则使用网络响应中提供的对所述附加数据的估计使用所述动态呈现控件来呈现所述网页的所述部分,而无需在接收所述网络响应后请求额外的网络通信以要求初始呈现所述网页的所述部分所需要的额外数据的装置;以及
用于当确定所述网络响应不包括对所述附加数据的估计,则从另一网络源请求所述附加数据,并使用从所述另一网络源获得的所述附加数据使用所述动态呈现控件来呈现所述网页的所述部分的装置。
14.一种计算机实现的方法,其使得所述计算***执行如下动作: 
接收对网页的网络请求的响应,所述响应包括含有可被用来呈现所述网页的一部分的至少一个动态呈现控件的网页的表示,所述网页的表示至少包括:(i)静态呈现指令;(ii)可由客户机执行以呈现页面的动态部分的脚本;(ii i)至少一个动态呈现控件,当其被实例化时,可由计算***用于呈现所述网页的所述部分;以及(iv)估计,其包括动态呈现控件在被实例化时所需的用于正确呈现所述页面的所述部分的初始数据集:
执行所述动态呈现控件,其中所述执行将所述动态呈现控件实例化,并且其中所述动态呈现控件包括一准许用户执行一个或多个功能的逻辑,并可当状态信息改变时改变所显示的形式;
在执行所述动态呈现控件的同时执行如下动作:
确定需要附加数据以初始呈现所述网页的所述部分;
确定所述响应包括对所述附加数据的估计的动作;以及
使用对所述附加数据的估计使用所述动态呈现控件来初始呈现所述网页的所述部分,从而无需在接收所述响应后请求额外的网络通信以初始呈现所述网页的所述部分。
15.如权利要求14所述的方法,其特征在于,所述动态呈现控件是控件树的一部分。
16.如权利要求14所述的方法,其特征在于,所述使用对所述附加数据的估计的动作进一步包括如下动作:
使所述动态呈现控件从同样在所述网页的表示中提供的数据源控件请求所述附加数据;以及
使所述数据源控件向所述动态呈现控件提供所述附加数据。 
CN2007800092548A 2006-03-17 2007-02-02 初始动态呈现控件数据估计 Expired - Fee Related CN101405723B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/377,995 US20070220083A1 (en) 2006-03-17 2006-03-17 Estimation of initial dynamic rendering control data
US11/377,995 2006-03-17
PCT/US2007/002951 WO2007108866A1 (en) 2006-03-17 2007-02-02 Estimation of initial dynamic rendering control data

Publications (2)

Publication Number Publication Date
CN101405723A CN101405723A (zh) 2009-04-08
CN101405723B true CN101405723B (zh) 2012-01-04

Family

ID=38519222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800092548A Expired - Fee Related CN101405723B (zh) 2006-03-17 2007-02-02 初始动态呈现控件数据估计

Country Status (12)

Country Link
US (1) US20070220083A1 (zh)
EP (1) EP2005322A1 (zh)
JP (1) JP2009530736A (zh)
KR (1) KR20080107412A (zh)
CN (1) CN101405723B (zh)
AU (1) AU2007227774A1 (zh)
BR (1) BRPI0708793A2 (zh)
CA (1) CA2644339A1 (zh)
MX (1) MX2008011659A (zh)
RU (1) RU2008137141A (zh)
TW (1) TW200822649A (zh)
WO (1) WO2007108866A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090106651A1 (en) * 2007-10-19 2009-04-23 Gorog Christopher P Rendering Data From A Server For Display In A Web Browser On A Client Computer
US8290929B2 (en) * 2007-10-26 2012-10-16 Yahoo! Inc. Media enhancement mechanism using embed code
US10025760B2 (en) * 2013-01-25 2018-07-17 Ebay Inc. Mapping page states to URLs
US9451005B2 (en) 2013-07-15 2016-09-20 Microsoft Technology Licensing, Llc Delegation of rendering between a web application and a native application
CN105183636A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种应用侧软件环境的检测方法
CN105183637A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种基于云计算的软件环境测试方法
CN105183638A (zh) * 2015-07-23 2015-12-23 柳州永旺科技有限公司 一种大数据软件环境的过滤方法
CN105138449A (zh) * 2015-07-23 2015-12-09 柳州永旺科技有限公司 一种通用软件环境的实现方法
CN105095776A (zh) * 2015-07-23 2015-11-25 柳州易旺科技有限公司 一种服务器侧网页数据加密方法
US10223460B2 (en) 2015-08-25 2019-03-05 Google Llc Application partial deep link to a corresponding resource
CN106611340A (zh) * 2015-10-21 2017-05-03 阿里巴巴集团控股有限公司 动态展示方法和装置、动态设置方法和装置
US10162500B2 (en) * 2016-08-24 2018-12-25 Microsoft Technology Licensing, Llc Dynamically render large dataset in client application
CN108684205B (zh) * 2017-02-02 2021-10-15 谷歌有限责任公司 用于处理数字组件的方法及***
US11184249B2 (en) * 2019-04-30 2021-11-23 Salesforce.Com, Inc. Declarative and reactive data layer for component-based user interfaces
CN111782993A (zh) * 2019-07-23 2020-10-16 北京京东尚科信息技术有限公司 页面显示方法、装置及服务器
CN111026463B (zh) * 2019-12-20 2023-12-26 深圳乐信软件技术有限公司 一种页面加载方法、装置、设备和存储介质
CN111857908A (zh) * 2020-06-15 2020-10-30 北京达佳互联信息技术有限公司 挂件展示的控制方法、装置、***、电子设备、服务器及存储介质
CN113779448A (zh) * 2020-08-10 2021-12-10 北京沃东天骏信息技术有限公司 一种页面处理方法和装置
CN113515712A (zh) * 2021-05-24 2021-10-19 京东科技控股股份有限公司 集成***的页面生成方法、装置、电子设备和存储介质
CN114625997A (zh) * 2022-03-22 2022-06-14 通号智慧城市研究设计院有限公司 页面渲染方法及装置、电子设备、计算机可读介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10132956A (ja) * 1996-10-30 1998-05-22 East Kurieiteibu:Kk 気象情報提供装置および方法
US6253228B1 (en) * 1997-03-31 2001-06-26 Apple Computer, Inc. Method and apparatus for updating and synchronizing information between a client and a server
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6021426A (en) * 1997-07-31 2000-02-01 At&T Corp Method and apparatus for dynamic data transfer on a web page
US6313854B1 (en) * 1998-10-16 2001-11-06 International Business Machines Corporation Display mechanism for HTML frames
US6412008B1 (en) * 1999-01-28 2002-06-25 International Business Machines Corporation System and method for cooperative client/server customization of web pages
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US6606525B1 (en) * 1999-12-27 2003-08-12 Motorola, Inc. System and method of merging static data in web pages
US7207000B1 (en) * 2000-02-24 2007-04-17 International Business Machines Corporation Providing dynamic web pages by separating scripts and HTML code
US7509404B2 (en) * 2000-03-08 2009-03-24 Oracle International Corporation Methods and systems for partial page caching of dynamically generated content
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US7051084B1 (en) * 2000-11-02 2006-05-23 Citrix Systems, Inc. Methods and apparatus for regenerating and transmitting a partial page
US7346842B1 (en) * 2000-11-02 2008-03-18 Citrix Systems, Inc. Methods and apparatus for incorporating a partial page on a client
US7000008B2 (en) * 2001-04-16 2006-02-14 Sun Microsystems, Inc. Method, system, and program for providing data updates to a page including multiple regions of dynamic content
US20030177175A1 (en) * 2001-04-26 2003-09-18 Worley Dale R. Method and system for display of web pages
US7346843B2 (en) * 2001-09-18 2008-03-18 International Business Machines Corporation Low-latency, incremental rendering in a content framework
US7844909B2 (en) * 2002-01-03 2010-11-30 International Business Machines Corporation Dynamically rendering a button in a hypermedia content browser
US7308488B2 (en) * 2002-09-12 2007-12-11 International Business Machines Corporation Method, system and program products for distributing portal content processing
US7177918B2 (en) * 2002-12-20 2007-02-13 International Business Machines Corporation Method and system for efficiently processing multiframe data in a client/server computing environment
US7386786B2 (en) * 2003-01-24 2008-06-10 The Cobalt Group, Inc. Method and apparatus for processing a dynamic webpage
US7392293B2 (en) * 2003-03-18 2008-06-24 Leonik Thomas E Method and apparatus for dynamically displaying real world data in a browser setting
US7624160B2 (en) * 2004-05-04 2009-11-24 International Business Machines Corporation Methods, systems, and computer program products for client side prefetching and caching of portlets
US8239749B2 (en) * 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7500181B2 (en) * 2004-08-31 2009-03-03 International Business Machines Corporation Method for updating a portal page
US20070006069A1 (en) * 2005-06-27 2007-01-04 Bea Systems, Inc. System and method for improved web portal design through control tree file utilization
US7814410B2 (en) * 2005-09-12 2010-10-12 Workman Nydegger Initial server-side content rendering for client-script web pages

Also Published As

Publication number Publication date
CA2644339A1 (en) 2007-09-27
EP2005322A1 (en) 2008-12-24
WO2007108866A1 (en) 2007-09-27
TW200822649A (en) 2008-05-16
RU2008137141A (ru) 2010-03-27
CN101405723A (zh) 2009-04-08
US20070220083A1 (en) 2007-09-20
JP2009530736A (ja) 2009-08-27
MX2008011659A (es) 2008-09-23
BRPI0708793A2 (pt) 2011-06-14
AU2007227774A1 (en) 2007-09-27
KR20080107412A (ko) 2008-12-10

Similar Documents

Publication Publication Date Title
CN101405723B (zh) 初始动态呈现控件数据估计
CN108282529B (zh) 发布和订阅数据的***、方法和装置
US9094369B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US8135803B2 (en) Method, system, and computer program product for offline advertisement servicing and cycling
US8219692B2 (en) Method and apparatus for storing and restoring state information of remote user interface
CN101952823B (zh) 用于媒体发现的方法
CN111258602B (zh) 信息更新方法和装置
JP2009545815A (ja) ウェブシンジケーションを介した双方向マルチマスタ同期
CN105337961A (zh) 和客户端进行通信的方法以及服务器
CN103150513A (zh) 拦截应用程序中的植入信息的方法及装置
JP2010128877A (ja) ウェブシステムおよび処理記録収集方法
US20060075336A1 (en) Method, system and program product for providing content over a network
CN109063064A (zh) 一种页面跳转方法、装置及计算机可读存储介质
CN106534280B (zh) 数据分享方法及装置
JP6185488B2 (ja) 公開カレンダーからの可用性情報の引き出し
CN110618768B (zh) 信息呈现方法和装置
US20020143899A1 (en) Providing access to present and past digital artefacts
CN108156109B (zh) 一种服务响应方法及装置
CN111767495A (zh) 一种合成网页的方法及***
US20240152504A1 (en) Data interaction method, apparatus, and electronic device
KR100597586B1 (ko) 세션 관리 기능을 이용한 데이터 동기화 방법
CN104750491A (zh) 文件的发布方法及装置
JP2008234513A (ja) オントロジデータベースアップデート方法及びオントロジデータベースアップデートシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

Termination date: 20130202