对象渲染分布调配的合作代理系统的方法和设备的制作方法

文档序号:6404966阅读:100来源:国知局
专利名称:对象渲染分布调配的合作代理系统的方法和设备的制作方法
技术领域
本发明涉及数据网络,尤其涉及在一个数据网络上执行分布对象渲染的能力。特别地,多个合作代理服务器执行分布对象渲染,以使对象内容通过各种用户设备,在它们各自设备能力及规格的基础上显示或消耗。
本专利申请涉及美国相关的正在审核期的专利申请08/979,748,提交日期为1997年11月26日,申请人是B.Hailpern等人,标题为“在服务器网络中带有病毒检测应用程序的处理内容和元信息的协作服务器”。本专利申请也与美国正在审核期间的专利申请09/027,832,提交日期为1998年2月23日,申请人为J.Beurke等人,题为“在代理网络中合作转换和高速缓存万维网对象的方法”。
随着因特网变得更为普遍,更多的非个人电脑(PC)设备,如所谓的智能电话和PDA(个人数字助理)与因特网连接,或是有线或是无线连接。因特网将正变成所谓的广泛计算环境,在这里的各种信息应用程序/设备,还有个人电脑和其它服务器计算机,都被连接起来。在这样一种广泛计算环境中希望各个应用程序/设备将有不同的计算能力与显示能力。如,一些设备可能显示彩色图象,而其它设备只能显示黑白图象。还有一些设备可能有又大又容易观看的显示器,而其它设备可能只有一个相对较小的显示器。因此,希望在这样一个广泛计算环境中,同样的信息对象可能根据不同设备显示规格以不同的窗体或分辨率而渲染。
各种技术已发展为用各种分辨率表示信息。由A.ortega等人提出的,题为“多分辨率远程图象检索优化系统结构”,1994,电气及电子工程师学会(美国)会报的Inforcom论文集,公开了用多重分辨率发送图象和视频。由G.Wallace提出的“JPEG静止图片压缩标准”,1992年2月,电气及电子工程师学会(美国)消费电子学报,第38卷,第1页,描述了以不同分辨率表示JPEG压缩图像。
在不同的位置中执行将一个对象渲染成不同的形式或不同的分辨率。一种可能的位置是在内容服务器内。然而,该内容服务器可能容易变得超载,尤其与大量不同的用户请求一起都到达相同的内容服务器时。另一个可能给对象渲染的位置是在实际消耗对象的客户设备里。然而,这是一个不尽人意的解决办法,因为,许多典型的用户设备的计算能力太有限以至于不能执行必要的渲染功能。
另外,可以用一个或多个代理服务器来渲染,这些代理服务器位于数据网络中内容服务器和用户设备之间。在这个方案中,设备专用信息可以加载(piggyback)在与对象相关的元信息(meta-information)上,并且代理服务器能依据这个后信息执行对象渲染。一旦对象渲染被这个服务器执行,其结果能被高速缓存(存储)在这个代理服务器中。在这种情况下,从同一种设备对相同对象的任何后来的请求,可用代理服务器高速缓存中储存的拷贝中直接得到服务。结果,为同种设备的对象重复渲染就可以被避免。为改进响应时间,许多个人计算机服务器,如,IBM NETFINITY服务器被用在因特网上作为一个代理服务器(IBM和NETFINITY两者代表国际商业机器公司的商标)。这些代理服务器能在对象渲染和高速缓存中协调地工作。
例如,上述参考的由美国B.Hailpen等人共同转让的专利申请,标题为“在服务器网络中带有病毒检测应用程序的处理内容和元信息的合作服务器”,公开了在代理网络的元信息基础上执行病毒检验的一种方法。本方案披露了一种通过选择一种代理服务器在代理网络上的元信息的基础进行病毒检测的一种方法。这种方法公开了通过网络中的代理之一在元信息的基础上给对象进行一定计算的方法。没有特别注意计算后对对象进行高速缓存这一特点。还有,该计算要完全由这个已选择的代理服务器来完成,而不是以分布式方法由多于一个代理服务器去完成。
上述参考一般是指由J.Beurbet等人的美国专利申请,标题为“在代理网络中合作转换和高速缓存万维网对象的方法”,它提出定位一个或多个专用的代理去执行转换和高速缓存的一种方法。一旦完成了该转换/渲染及被高速缓存,对于期望的分辨率的所有随后的请求都由这些专用的转换代理来服务。在这个方法中,一个对象的高速缓存和渲染完全是在相同的专用代理中来完成的,对象的渲染并不是在不同阶段执行,或以分布式方法由多于一个的不同代理去协作执行。
由A.FOX所描述的一种方法中,题为“使用结构代理以适应网络和客户变化课程和透视”,电气及电子工程师学会(美国)个人通信,1998年8月第10-19页,披露了在一组代理上进行特定数据类型的蒸馏(distillation)的方法。对象渲染和高速缓存都是由该特定的一组代理来完成的。采用一个集中管理器而对该组中的代理进行负载平衡。使用这种方法的一个弊端是,对象渲染和高速缓存完全在这组代理上完成,而不是以分布式方法完成。网络中不在该组的其他代理,在对象渲染过程的几个阶段中不能参与。
在前面所述观点中,可以理解为,存在一种合作代理系统的需求,它使用一种分布式方法对对象进行渲染。在本发明之前,这种需求未被满足。
本发明的第一个目的和优点是,提供一个用分布式方法执行对象渲染的一个协作代理系统。
本发明的另一个目的和优点是,提供一种技术,使对象渲染处理分布在一个代理网络中,而不是在专用对象渲染代理中集中对象渲染处理。
本发明还有一个目的和优点是,提供一个合作代理网络,其中如渲染的对象处理任务是在如代理网络动态负载特点的基础上用一种适合的方法分布。
通过根据本发明的实施例的方法和装置来克服前述和其他问题,并且实现这些目的和优点。
依据本发明技术,公开了一种作数据网络的分布对象渲染的方法。该数据网络,可以包括因特网,连接了计算节点,包括对象请求者节点,对象源节点,及可能是代理服务器的中间节点。该方法可允许每个参与代理服务器,可能被简称为一个"代理"及用复数形式表示的"多个代理",适应其自身及其它的代理的动态负载条件,以及适应数据网络中的动态负载条件。确定哪个代理或哪些代理进行对象渲染和高速缓存是基于在这些代理中采用的分布合作方法的。对于此种方法的确定标准,可包括这些代理的网络链路的带宽和当前负载,和/或这些代理的各自中央处理器的使用。如果一个对象渲染能被分段,例如,不同分辨率渲染,它可由多于一个代理来完成。确定哪个代理执行多段渲染的哪一段也适应该动态负载条件和网络条件。
结果,一个参与代理,对于一个服务对象,在用户设备类型基础上,首先确定对象是否需要渲染处理。如果发现需要对该对象进行渲染处理,那么在该请求的对象类型和在该网络中其它代理的合作信息的基础上,参与代理就可选择(1)通过自身来执行整个对象渲染,(2)如果渲染过程可以分段那么可执行部分渲染,或(3)什么都不做而让另一个代理去执行渲染任务。其目的是将渲染处理在代理网络中分布,而不只是在专用的对象渲染代理中。
因此,本发明提供一种由互联计算节点组成的一个网络中分布式,动态的,分级渲染方法。该方法包括步骤如下,在一个对象请求节点或连接对象请求节点的一个代理节点上,包括一个对象请求描述该对象请求节点能力的某元信息(这里称为接收者暗示信息(RHI)或作为请求者专用能力信息);在一个中间节点上,接收一个对象请求,然后,将该请求转发到另一个中间节点上(或转发到请求对象源上),如果被请求对象不能从本地得到,则修改RHI信息以包含指定它的本地条件的信息而提供渲染服务;否则,该中间节点确定这个请求的渲染,并调用一个选择函数,在RHI基础上确定请求渲染的哪个部分或子集将由该中间节点执行。然后该中间节点执行渲染,并把这个已渲染的对象传送给该请求节点。作为本发明的一部分,另一个接收部分渲染对象的中间节点调用一个选择函数在RHI基础上确定剩余被请求渲染的哪个部分(或全部)由该中间节点执行,并执行渲染和将已渲染的对象传给该请求节点。
在含有被请求对象较不详细版本的一个中间节点上,该方法包括这个RHI中的信息,将该请求转送给另一个节点,在有请求对象的更详细版本的另一个中间节点上,该节点决定是否不进行进一步本地渲染而返回该请求对象的更详细版本,或执行一些渲染和返回部分渲染对象,或返回一个全部渲染对象。
该本地条件信息可包括负载和/或节点容量(如中央处理器的利用),可能是该网络延迟函数(来自于该请求节点)。本地条件信息可进一步包括在该节点上完成渲染的类型(能依靠该节点上可用的软件)。本地条件信息可进一步包括本地节点的可用存储空间。
为每个中间节点提供一个选择方法以动态地和独立地确定其它节点被请求的渲染的哪个部分使用RHI信息而本地执行。该选择方法可包括步骤(a)将剩余渲染操作分为几个步骤;(b)选择一个或多个将被本地执行的渲染步骤,使用RHI作为一个输出参数,优化一个已给的对象函数;及(c)执行为当前节点选择的一个或多个渲染步骤。该对象函数可先执行减少带宽最多的渲染步骤,和/或执行渲染步骤,以便在该请求用户设备节点的路径上的剩余节点中减少负载失衡。该对象函数还可以是在该RHI的基础上从这个节点到该请求节点的估算响应时间。
或者,该选择方法可包括步骤(a)将剩余的渲染运行分为几个步骤;(b)按照分配计划,分配渲染步骤至请求用户设备节点的路径上的其他节点,使用RHI作为一个输入参数去优化已给的对象函数;和(c)执行被指定到当前节点的渲染步骤或那些步骤。将该分步计划作为元信息与渲染对象发一起送到下一个节点,然后根据本地条件,如,在下一个节点上中央处理器的负载,可任意修改该分步计划,这也是在本发明的技术范围内。
已渲染的对象和/或接收的对象能被传送到一个高速缓存管理器,用于一种高速缓存目的,如,生成已渲染对象的开销。
一般地,不同的中间节点可以选择使用不同的选择函数用于渲染,每个中间节点可能依据该节点的本地条件选择一个不同的选择函数(如,中央处理器负载)。
每个节点也可以定期地从相邻节点处收集负载统计信息,而不是包括与每个请求相关的RHI中的信息。
以上陈述及本发明其他特征,在阅读下面连同附图的详细描述中将更加显而易见,其中

图1是按照本发明示意性实施例的因特网环境的方框图。
图2是按照本发明示意性实施例的代理环境下的方框图。
图3是按照本发明示意性实施例的代理服务器配置的流程图。
图4是按照本发明示意性实施例,当一个代理服务器接收一个对象请求时它的操作的流程图。
图5是按照本发明示意性实施例,当一个代理服务器接收一个对象请求时它的操作的流程图。
图1是按照本发明示意性实施例的代理网络总体结构的方框图。如图所示,不同客户130,131可以通过代理服务器(或代理)110,111,112而连接,以访问内容服务器120,121中的对象。客户,代理和内容服务器可以都通过网络101,如因特网相连接。这些代理110,111,112,一般被用于提高存取时间,和提供如高速缓存和容量过滤的服务。例如,一个ISP(因特网服务供应商)可能包含位于不同地点(例如,本地,区域和国家代理服务器)的代理服务器110,111,112的一个分级网络。或者,并作为一个例子,可能有一个或多个代理服务器,在一个专用或半专用局域网(LAN)或广域网(WAN)内运行,并且,一个或多个代理服务器可能被位于防火墙之后,防火墙保护局域网或广域网的安全。
对象渲染是由代理110,111,112在从内容服务器120,121取回的对象的基础上执行。专用设备能力,在此称为接收者暗示信息(RHI),以及对象数据类型(在此通常称作专用对象描述符信息),通过如附加到与请求和被请求的对象相关的元信息而被包含。RHI可由请求客户设备130,131或代理之一(例如连接至请求设备的第一个代理)包含至一个对象请求中。在后一种情况下,代理110,111,112在与请求一起发送的请求设备标识符的基础上访问设备能力表,并且表中存储的信息的基础上构成RHI。作为一个例子,假设有一个ISP装置,本地代理服务器访问存储一个表格,其中储存的是能被本地代理服务的各种客户设备特性(如显示类型,图形存储器大小等)。用于一个特殊客户设备130,131的表项目可在该设备第一次在ISP注册时被存储。此后,当用户设备作出一个请求,访问表格和建立收到的RHI以包含至大小请求时,该本地代理服务器收到用户设备的标识符。用一个类似方法,被请求对象源可把这个专用对象描述符信息加到返回对象上,或这个信息能由代理服务器在本地加到被请求对象源上(在代理服务器不能完成对存储于该代理的大小的拷贝的请求的情况下,下面是更详细的描述)。
在本发明目前优选实施例中,接收者暗示信息是用PICSTM(因特网内容选择平台)信息来实现的,有关本发明的这方面的内容将在下面作更详细的讨论。
当一个请求对象通过代理网络传送时,任何代理服务器110,111,112可在这个相联的RHI的基础上执行全部或部分渲染。例如,如果整个渲染过程能被划分为两步或多步,那么给定的代理服务器之一(如,110)可以决定只执行渲染步骤中的一个,然后将部分已渲染对象转发至另一个代理服务器(如,111)。代理服务器110也修改RHI,以便反映它执行的过程,并向代理服务器111转发已修改的RHI。进一步,关于给定代理服务器110,111,112之一的本地条件,如,中央处理器负载和网络通信负载,也可被包括在RHI中并通过网络101传递。本发明的这些方面将在下面作更详细的讨论。
在本发明的示意性实施例中,客户130,131可以包括,如一台个人电脑(PC),一个工作站,一部智能电话,一个个人数字助理(PDA)等。代理服务器110,111,112可以包含一台个人电脑服务器,一个RISC系统/6000服务器,或S/390服务器,运行,如,因特网连接服务器,来自于国际商业机器公司(RISC系统/6000,S/390,及因特网连接服务器都是国际商业机器公司的商标)。该网络101可能是,如,因特网,万维网,一个内联网和局域网(LAN)。内容服务器120,121可能包括一台个人电脑服务器,RS/6000服务器,S/390服务器,运行Lotus Go Web服务器,或Lotus Domino Go服务器(Go Web和Domino Go是Lotus发展公司的商标)。
图2是根据本发明的示意性实施例的总的代理环境的方框图。代理服务器节点201(如可能是图1中代理110,111,112的任意一个)用于表示通过例如图1的网络101的网络212为请求服务的计算节点。代理服务器节点201最好包含一个中央处理器211,存储器202,例如,随机存取存储器,和存储设备210,如,磁盘存储器或更普通的直接存取存储器(DASD)。代理服务器逻辑203可以被存储在存储器202中,并且最好是由计算机可读和可执行代码实现,该代码从磁盘210调入到存储器202中由中央处理器211执行。代理服务器逻辑203,对其更详细地描述参照图3,包括一个对象处理器204(图5有更详细描述)和一个对象请求处理器205(图4有更详细描述)。一个对象渲染器,它按照与特定对象相关的RHI执行对象渲染,也可能被包括在代理服务器逻辑203中。对象渲染器可以是一个计算机程序,例如,它将一个彩色图象渲染成黑白图象,或把一个复杂的超文本链接语言(HTML)文本缩减成一种只包含超文本链接语言标题的一个简单的超文本链接语言。代理服务器逻辑203还可包括一个高速缓存管理器207,它维护部分已渲染或全部已渲染对象的本地拷贝,以避免用同一个代理服务器重复对象渲染操作。
图3是依据本发明示意性实施例的代理服务器201接收输入时的总体运行的流程图。在步骤301,代理服务器节点201等待输入。根据接收的的输入,采取不同的行动。如果步骤302处收到的输入是对象请求(如,来自个人数字助理型的客户130,131的超文本传输协议(HTTP)请求),在步骤303激活对象请求处理器205。该超文本传输协议一般被用为取回文件内容和/或描述性标题信息。一个详细的对象请求处理器205的实现在图4上描述。如果收到的输入是一个对象,步骤304,(例如,响应代理服务器节点201发出的请求,一个对象返回到当前代理服务器节点201)那么对象处理器206在步骤305处被激活。对象处理器206的实现详情在图5描述。对于其他类型的请求,如,文件传送协议(FTP)请求,一个杂项处理器在步骤306处被激活。激活适当的处理器后,控制返回到步骤301处以等待来自网络212至代理服务器节点201的下一个输入。
图4是根据本发明的示意性实施例的对象请求处理器205的操作的流程图。在步骤401,对象请求处理器205检查高速缓存管理器207,以确定被请求对象是否可从高速缓存中得到。应该注意的是,高速缓存可能包含被请求对象较不详细的版本,或含有更详细的版本。对象的较不详细版本不能满足该请求并必须发送对象请求,一般发送至适当的一个内容服务器120,121或另一个代理服务器。然而,一个较详细版本通过代理服务器110,111,112被进一步渲染以满足请求。如果该请求的对象不能在高速缓存中被发现,那么在步骤404,代理服务器110,111,112就将相联的RHI修改表示它提供渲染服务的能力,然后按照代理服务器在整个代理链中的位置,将该请求和修改后的RHI发送到另一个代理服务器或内容服务器120,121中。
如果一个被请求对象的拷贝能在本地高速缓存中发现,那么在步骤402处,代理服务器检查这个被高速缓存的对象,对照RHI去看是否有必要进一步渲染。注意的是,该RHI包含接收设备(即,最初请求这个恰好在高速缓存中发现的对象的设备)的能力说明。根据对RHI的检查,代理服务器110,111,112可以确定是否需要进一步渲染。如不需要进一步渲染,该代理服务器就修改RHI去指示提供渲染服务的本地条件,并在步骤403处返回对象。如果基于RHI或请求设备发现需要进一步渲染,代理服务器在步骤405执行一个选择函数来确定是否希望在本地执行渲染。如果该代理服务器决定不执行任何本地渲染,那么该代理服务器就修改RHI,以指示提供渲染服务的本地负载条件,并将该对象和修改后的RHI一起在步骤406返回。但如果代理服务器决定在本地执行渲染,那么它就在步骤407处检查RHI,以确定是否期望完成全部渲染过程,或只是请求渲染过程的几个部分。如果代理服务器只期望执行渲染过程的一个部分,那么它就在步骤409执行另一个选择函数以确定执行渲染过程的哪个部分。在任何一种情况下,在步骤405作出本地执行渲染决定以后,代理服务器110,111,112就调用对象渲染器206在步骤408处执行对象渲染。在渲染过程完成以后,(或全部或部分渲染),在步骤410调用高速缓存管理器207,以确定是否在本地对渲染对象拷贝进行高速缓存。然后将代理服务器110,111,112在步骤406修改RHI,以反映其本地条件,并将已渲染(全部渲染或部分渲染)对象与修改后的RHI一起返回。
本领域的技术人员可以理解,在步骤404,代理服务器110,111,112可以在RHI中表示在其高速缓存中有请求对象的一个较不详细的版本,然后发送一个对象请求给另一个代理服务器。一个已存储被请求对象的更详细版本的代理服务器可以决定发送更详细的对象给这个正在请求的代理服务器,或者它发送所需要的任何信息,以使正在请求的代理服务器去按必要的分辨率给对象渲染。或者是,包含被请求对象的更详细版本的代理服务器110,111,112可以决定为请求的代理服务器执行必要的渲染,并返回全部渲染对象到正在请求的代理服务器。例如,这种类型的决定是在请求代理服务器负载与存储被请求对象详细版本的代理服务器负载相对比基础上进行的。
因此,本领域的技术人员可以进一步理解,选择函数有许多变化,以确定是否由已给的代理服务器110,111,112中之一本地执行全部剩余渲染,或者渲染对象的哪个部分将本地执行。
例如,这些选择标准可能包括当前的中央处理器负载和/或来自请求节点的网络延迟,也包括请求节点的负载条件。该标准可以进一步包括将要执行的渲染的类型和执行渲染所需软件是否可以得到。例如给定代理服务器110,111,112之一可能是负载较轻的,还缺少一种特殊类型的软件,这种软件是以与请求的客户130,131之一的显示能力相一致的方式渲染对象所需的。这种标准还可能包括本地存储可用空间。然而,如果一个特定的代理服务器是在请求设备路径上的最后一个代理服务器,那么它必须能够在本地执行任何剩余的渲染。
本领域的技术人员还可以理解,如果一个给定的代理服务器110,111,112决定执行部分渲染,它可先将剩余渲染操作分为多个步骤,然后选择一步或多步用其自身在本地处理。目的是用相关的RHI作为输入参数以优化给定的对象函数。再者,给定的一个代理服务器110,111,112也可以将剩余步骤分配给到请求客户设备130,131的路径上剩余的代理服务器。收到这个分配方案的任何代理服务器可以在其自身本地条件基础上分配改变(例如,在负载,存储,和/或是否有执行分配给它的分配方案的部分所需软件的基础上)。希望被优化的对象函数能够最大程度地减小带宽,在请求设备的路径上剩余代理当中最大程度地减少负载失衡,或这两种情况的结合。它还能在RHI基础上将从当前代理服务器110,111,112至正在请求的客户设备130,131的估计响应时间减到最小。
图5是代理服务器逻辑203的对象处理器204的流程图。在步骤501,当代理服务器收到一个对象时,它首先检验相关的RHI,以确定是否需要进一步渲染。如果不需要,在步骤502,为了高速缓存目的把对象传递到高速缓存管理器207。在步骤503,被接收的对象被返回到请求客户设备130,131,或返回至到达接收用户设备的路径上的另一个代理服务器110,111,112。在返回对象中,代理服务器可以修改相关的RHI,以指示其的本地条件。
在步骤501,如果代理服务器确定对象需要进一步渲染,在步骤504,在其本地条件,例如,中央处理器负载的基础上,确定是否执行渲染。如确定不执行本地渲染,在步骤505,修改RHI,然后将对象返回至到达请求客户设备130,131的路径上的另一个代理服务器。反之,在步骤504,如果代理服务器决定执行对象本地渲染,那么在步骤506,代理服务器进一步确定是否将执行全部剩余的本地渲染处理。如果不,它可以将剩余渲染处理分为多个步骤,然后在步骤508,选择一个这些步骤的子集在本地执行。然后在步骤507,调用对象渲染器206执行本地渲染。渲染计算后,在步骤509处,高速缓存管理器207被调用以确定已渲染的对象是否应该被高速缓存。然后代理服务器110,111,112修改相关的RHI并将返回至请求客户设备130,131,或返回至到达请求客户设备130,131路径上的另一个代理服务器。
不同的中间代理服务器将选择不同的选择函数以确定本地执行对象渲染的数量是可能的。此外,每个代理网络的每个节点可定期地从相邻代理服务器节点收集负载统计,而不是将这些负载条件包含至与每个请求相关的RHI中。
本领域的技术人员可以理解,在管理高速缓存时,高速缓存管理器207可以考虑生成渲染对象的处理成本。因此,高速缓存管理器可以在其他对象的常规堆栈以外还为本地渲染对象维护一个单独的堆栈。它也可高速缓存其他代理服务器渲染的对象,如果这样作是有益的话。
已参考本发明的示意性实施例对本发明进行了描述,以下将说明本发明的某些特征的详细描述,特别是接收者暗示信息(RHI)的最佳实施方式,并说明使用本发明的一个例子。
一般地,元数据(meta-data)信息能被存储在超文本传输协议请求标题和应答标题中,这与PICSTM(因特网内容选择平台)的方式相同。最一般地,PICSTM标准启动标号(元数据)与因特网相关联。PICSTM指定一个涉及电子内容的元信息的发送方法,并且是一个万维网联盟协议建议(见http//www.w3.org/PICS).PICSTM起初被用来发送电子内容的基于值的级别标号(values-based rating label),但也可便于标号的其他应用,如,代码签名及保密性。然而,其元信息的格式和含义是完全普遍的。在PICSTM中,作为电子内容描述的元信息依据信息生产者和预期使用(producer-and-intended-usage)而被分组的,并且在这样一个组内,可传输信息的任何数量的分类和维。每个分类有一个容许值范围。对于一个内容的特定部分,一个特定分类可能有单一值或多个值。此外,元信息组,被称为一个"PICSTM标号",可能包含过期信息。电子内容某一特定部分的PICSTM可以分别加入到内容或从内容中移出。
另外还要参考一个出版物,标题为"因特网内容选择平台标号分配标号语法和通信协议",REC-PICS-label-961031,1.1版,W3C建议96年10月31日,可以从http//www.w3.org/PICS得到,这里用作参考。另外还要参考一篇文章,标题为"在因特网上筛选信息",出自Paul Resnick,1997年3月《科学美国人》。
依据本项发明技术,并作为一个例子,一个图象文件可以从一个服务器发送,该文件带有一个PICS标记,该标记有一个域或一个域组以指示图象分辨率。这个分辨率标号能由一对彩色编码和图象尺寸指定,r(c16,s1000),这里"c"和"s"是不同元信息类型的传输名,这个图象内容的适应值是16(对于c)和1000(对于s),指定16位彩色编码,和1000兆字节图象尺寸。参与分布对象渲染的代理服务器110,111,112知道如何解释这些分类和数值。其他设备能力,以及代理服务器的负载条件,也能相似地编码为PICSTM标记,并与超文本传输协议请求标题和/或应答标题一起被传输。
例如,如个人数字代理(PDA)的个人数字设备(PDD)的设备能力能被由一对彩色编码和图象尺寸d(c1 s2)说明,指示PDD只能显示(d)1位彩色编码(c)最大尺寸(s)为2M字节(两兆字节)的图象。这个设备能力PICS标号插入由个人数字设备或连接至该个人数字设备的代理服务器在不同服务器110,111,112中发送的HTTP请求标题中当中发送,如上所述。这个PICS标号在本发明的上下文中被称为接收者暗示信息(RHI)。
可以理解,接收一个有上面注明的PICS标号r(c16 s1000)的图象对象的代理服务器110,111,112,响应来自有上述RHI d(c1s2)的PDD的请求,将被通知该PDD不能显示接收的图像对象,因而该图象对象需要被渲染成该PDD可以显示的形式。代理服务器可执行全部渲染过程,然后将图象对象的PICS标号修改成r(c1 s2),即,指定一种与请求的PDD的显示能力兼容的格式。然而,如果因为某种原因,代理服务器选择不完全渲染图象对象,或完全不渲染图象对象,例如,出于负载考虑或缺乏合适的软件的原因,那么图象对象的PICS标号将不会反映与PDD的显示能力相兼容的条件。例如,假设给定的一个代理服务器110,111,112只选择修改收到图象对象的色彩编码,从16水平修改为1,则下一个代理服务器接收的修改后的PICS标号将是r(c1 s1000),它仍然是一个不与PDD的RHI d(c1 s2)相兼容的格式。然后下一个代理服务器110,111,112选择将接收的图象对象进行渲染,将图象尺寸从1000兆字节减少到2兆字节,结果修改的PICS标号为r(c1 s2)这是与PDD的RHI d(c1 s2)相兼容的格式。
作为分布对象渲染的另一个示例,假设个人数字设备PDD正在请求一个图象文件,并且这个图象文件不是在当前网络101中任何代理服务器110,111,112中存在的。该请求先被发送到一个本地代理服务器A,例如一个本地ISP(因特网服务供应商),然后转发到一个地区代理服务器B,然后再到国家代理服务器C。那么,国家代理服务器C发出一个请求给适合的内容服务器120或121。
根据本发明技术的一个方面,代理服务器A通过识别设备的ID来识别图形文件的HTTP请求是来自一个特定的设备PDD。然后本地代理服务器A查找在本地存储器或另一个存储器中存储的表或目录,以发现该PDD的设备能力和相应的设备能力PICS标号,如,d(c1 s3),表示这个设备只能显示最大3兆字节与1位色彩编码的图象。然后这个PICS标号被放到超文本传输协议请求标题中(作为PDD的RHI),接着被发送至区域和国家代理服务器B和C。响应来自国家代理服务器C的请求中,内容服务器120或121准备一个分辨率PICS标号,r(c16 s100),并把它插在响应HTTP标题中。然后将图象文件发送到国家代理服务器C。在比较分辨率PICS标号和设备能力PICS(RHI)标号后,代理服务器C决定需要对该图象文件进行渲染。接着国家代理服务器C决定是否需要在本地进行渲染。如果它决定在本地进行渲染,国家代理服务器C再决定是否由它自己完成全部渲染,或将渲染分为多步,以便能使其中一些被本地执行。假设国家代理服务器C决定将执行部分渲染,那它就部分地渲染图象文件,然后相应地修改PICS标号。接下来假设生成的分辨率PICS标号与被部分渲染的图象文件一起被发送至地区代理服务器B。类似地,代理服务器B决定是否在本地执行剩余的渲染。如果不,就简单地转发以前已修改的分辨率PICS标号和部分被渲染的图象文件至本地代理服务器A。当代理服务器A最终收到该图象文件时,它决定是否需要做任何剩余的渲染。如果是,它就在本地完成渲染,因为代理服务器A是PDD用户设备130,131之前的代理网络中最后的代理服务器110,111,112。代理服务器A完成渲染以便使图象满足由PICS标号d(c1 s3)指示的设备规格,并将已渲染图象文件发送到发出请求的PDD用户设备130或131。
本领域的技术人员可以理解,许多可能的网络布局及总体结构可以得益于本发明的技术和根据本发明技术运行。因此,本发明技术不局限于上面所描述的示例。
此外,本发明技术不限于使用PICSTM格式化标签或实现RHI的数据结构。
除了图象对象,一个或多个中间计算节点能够请求,返回和处理其他对象。例如,音频对象能以与上面所描述的图象对象同样或类似的方法来处理,其中,RHI可以指示请求者音频播放能力。本发明技术也可被应用到包含许多标题和文本段落的复杂的HTML文件中,当被例如PDD的有有限的显示能力的设备请求时简化该文件。
还应理解,本发明的技术包含一个在计算机可读媒介(如磁盘201)上的实现的计算机程序,以提供协作服务器网络中的服务器中的一个,其中的合作服务器能够根据将消耗对象的设备能力而进行对象处理,例如图象渲染。计算机程序包括一个代码段,响应包含在对象请求中的请求者特定能力信息,以及包含在接收的对象中的对象特定信息,而完全或部分处理该对象以使对象与请求者的能力相一致。
本发明还包含一个可由机器读出的程序存储设备,明确地实现由该机器可执行的指令的程序,以启动实现合作计算节点的互联分级网络中的独立的一个计算节点的方法步骤,根据消耗对象的设备的能力而进行对象处理,例如渲染。该方法响应包含在对象请求中的请求者特定能力信息,和进一步响应包含在从对象源或另一个计算节点机的对象中的对象特定信息,部分或全部处理对象,以使该对象与消耗该对象的请求者的能力相一致。
因此,根据本发明的最佳实施例对本发明进行了描述,本领域的技术人员可以理解,在不背离本发明的实质和范围的情况下,可以对本发明作出形式和细节上的修改。
权利要求
1.一种运行数据网络的方法,包含步骤提供多个计算节点连接至数据网络,其中,至少一个计算节点是对象请求者,并产生一个请求,至少一个计算节点是被请求对象源,并且至少一个计算节点是中间计算节点,该节点是被插在请求者和对象源之间,以转发请求至对象源和将被请求的对象从对象源返回请求者;将请求者特定能力信息包含至为对象生成的请求中;将对象特定描述符信息包含至被请求对象中;和在至少一个中间计算节点上,检查请求者特定能力信息和对象特定描述符信息,然后作出决定,全部或部分处理该对象,以使被请求对象全部或部分与请求者特定能力信息相一致。
2.如权利要求1的方法,其中当处理对象时,该方法包括修改全部或部分对象特定描述符信息的步骤,以反映由至少一个中间计算节点进行的处理。
3.如权利要求1的方法,其中的对象是一个图象对象,而其中的请求者特定能力信息指示请求者显示该对象的能力。
4.如权利要求1的方法,其中数据网络由因特网组成。
5.如权利要求1的方法,其中作出决定的步骤也能确定不处理该对象,而其中作出决定步骤考虑中间计算节点的至少一个本地条件。
6.如权利要求1的方法,其中中间计算节点存储一个被请求对象的拷贝,而其中中间计算节点作为源计算节点运行。
7.如权利要求3的方法,其中中间计算节点存储比请求者特定能力信息较不详细的被请求对象的一个版本,它表示请求者的显示能力,并进一步包括将请求转发至至少另一个计算节点的步骤,在包含被请求对象更详细版本的另一个计算节点中,作出是否返回被请求对象更详细版本而没有局部渲染的决定,或作出进行本地渲染并返回部分渲染对象的决定,或进行局部渲染并返回完全渲染对象的决定的步骤。
8.如权利要求3的方法,其中中间计算节点存储比请求者特定能力详细更详细的被请求对象的一个版本,它表示请求者的显示能力,并进一步包括确定是否返回被请求对象更详细版本而没有局部渲染的决定,或作出进行本地渲染并返回部分渲染对象的决定,或进行局部渲染并返回完全渲染对象的决定的步骤。
9.如权利要求3的方法,其中中间计算节点或接收或存储比请求者特定能力详细更详细的一个版本,它与表示请求者的显示能力,还包含渲染对象的一个步骤,以减少从中间计算节点传输对象所需的数据网络带宽的数量。
10.如权利要求3的方法,其中中间计算节点或接收或存储比请求者特定能力详细更详细的一个版本,它表示请求者的显示能力,还包含渲染对象的一个步骤,以减少位于该中间计算节点和请求者之间的其它中间计算节点负载失衡的数量。
11.如权利要求1的方法,其中作出决定的步骤,至少是部分出于该中间计算节点的渲染能力的考虑而作出的。
12.如权利要求1的方法,其中作出决定的步骤,至少是部分出于该中间计算节点的当前处理负载的考虑而作出的。
13.如权利要求1的方法,其中作出决定的步骤,至少是部分出于到达请求者的网络延迟的考虑而作出的。
14.如权利要求3的方法,其中中间计算节点或接收或存储比请求者特定能力详细更详细的一个版本,它表示请求者的显示能力,其中作出确定步骤还包含将一定量的图象对象处理分为许多步,至少将这些步骤的一个步骤分配给位于该中间计算节点和请求者之间的至少一个其他中间计算节点。
15.如权利要求14的方法,其中分配步骤产生一个分配方案,并将该方案通过数据网络发送到至少一个其他中间计算节点上。
16.如权利要求15的方法,还包含在至少在一个其他中间节点上根据本地条件修改该分配方案的步骤。
17.如权利要求1的方法,其中对象是一个图象对象,而其中对象特定描述符信息至少说明图象的色彩是怎样被表达的,以及图象对象的尺寸。
18.如权利要求1的方法,其中对象是一个图象对象,其中请求者计算节点包含用于显示图象对象的一个显示器,其中请求者特定能力信息至少指定请求者显示颜色的能力,以及能够显示的图象的最大尺寸。
19.如权利要求1的方法,其中至少请求者特定能力信息被作为元信息表示。
20.如权利要求1的方法,其中至少请求者特定能力信息用因特网内容选择平台格式表示。
21.如权利要求1的方法,其中将请求者特定能力信息包含至为对象生成的请求的步骤是由请求者执行的。
22.如权利要求1的方法,其中将请求者特定能力信息包含至为对象生成的请求的步骤是由中间计算节点执行的。
23.如权利要求1的方法,其中将对象特定描述符信息包含至被请求对象的步骤是由被请求对象源执行的。
24.如权利要求1的方法,其中包括的步骤,即对象特定描述符信息与一个已请求的对象是由一个中间计算节点执行的。
25.一个其上连接有计算节点的数据网络,其中至少有一个计算节点是图象对象请求者并产生一个请求,所述请求者包括用于显示被请求图象对象的显示器,至少一个计算节点是被请求图象对象源,并且至少一个计算节点是位于请求者和对象源之间的中间计算节点,用于转发转发请求至对象源和从被请求的图象对象从对象源返回至请求者,其中所述请求者或所述中间计算节点之一将请求者特定图象显示器能力信息加入到为图象对象生成的请求中,其中所述对象源或所述中间计算节点之一将图象对象特定描述符信息加入到返回的被请求图象对象中,所述图象对象特定描述符信息被修改以反映对相关的图象对象作出的改变,并且其中所述至少一个中间计算节点响应所述请求者特定图象显示能力信息和所述对象特定描述符信息的检验,以及响应至少一个本地条件,作出是否完全或部分渲染相关的返回图象对象的决定,使得被请求图象对象的图象对象特定描述符信息完全或部分地与请求者特定图象显示能力信息相一致,或完全不渲染相关的图象对象。
26.如权利要求25的网络,其中所述至少一个中间计算节点,在渲染图象对象以后,修改相关的图象对象特定描述符信息,以指示渲染操作或由所述至少一个中间计算节点执行的操作的结果。
27.如权利要求25的网络,其中数据网络由因特网组成。
28.如权利要求25的网络,其中所述至少一个中间计算节点包含一个用于存储所述图象对象拷贝的存储器,其中,所述中间计算节点能够通过将存储的拷贝返回至请求者的方法而作为所述源计算节点运行。
29.如权利要求28的网络,其中所述至少一个中间计算节点存储比请求者特定图象显示能力信息较不详细的一个版本,它表示请求者的显示能力,并且所述至少一个中间计算节点将请求转发至存储了被请求图象对象更详细版本的另一个中间计算节点,并且其中所述另一个中间计算节点响应所述请求者特定图象显示能力信息和所述对象特定描述符信息的检验,以及至少一个本地条件,作出是否或全部或部分渲染存储的图象对象,以使存储的图象对象的图象对象特定描述符信息完全或部分与请求者特定图象显示能力信息一致,或完全不渲染存储的图象对象。
30.如权利要求28的网络,其中所述至少一个中间计算节点存储比请求者特定图象显示能力信息更详细的一个版本,它表示请求者的显示能力,其中所述至少一个中间计算节点响应所述请求者特定图象显示能力信息和所述对象特定描述符信息的检验,以及响应至少一个本地条件,以作出是否全部或部分渲染存储的图象对象的决定,以使存储的图象对象的图象对象特定描述符信息全部或部分与请求者特定图象显示能力信息相一致,或完全不渲染该存储的图象对象。
31.如权利要求25的网络,其中当渲染一个将被返回至请求者的被请求图象对象时,所述至少一个中间计算节点渲染该图象对象,以减少传输该图象对象所需的数据网络带宽的数量。
32.如权利要求25的网络,其中当渲染一个将被返回至请求者的被请求图象对象时,所述至少一个中间计算节点渲染该图象对象,以减少位于所述至少一个中间计算节点和所述请求者之间的任何其它中间计算节点负载失衡的数量。
33.如权利要求25的网络,其中所述至少一个本地条件包含如下内容,至少一个所述中间计算节点渲染能力,所述中间计算节点的当前处理负载,和到达请求者的网络延迟量。
34.如权利要求25的网络,其中所述至少一个中间节点进一步将图象对象渲染量分为许多步骤,并且至少分配其中的一个步骤给位于所述至少一个中间计算节点和所述请求者之间的至少另一个其它中间计算节点。
35.如权利要求34的网络,其中所述至少一个中间计算节点发出一个渲染步骤分配方案,该方案通过所述数据网络被发送到至少一个其它中间计算节点上,而其中所述至少一个中间计算节点能修改所述分配方案以响应至少一个本地条件。
36.如权利要求25的网络,其中所述图象对象特定描述符信息至少说明所述图象对象的颜色是怎样被表示的,以及所述图象对象的尺寸,和其中所述请求者特定图象显示能力信息至少说明所述请求者显示颜色的显示能力,以及能够被显示的图象对象的最大尺寸。
37.如权利要求25的网络,其中至少所述请求者特定图象显示能力信息被表示为元信息。
38.如权利要求25的网络,其中至少所述请求者特定图象显示能力信息被表示为因特网内容选择平台格式。
39.一种在计算机可读媒介上实现的计算机程序,为合作服务器网络中独立的一个服务器提供根据消耗对象的设备的能力而有选择地进行对象处理的能力;所述程序包括一个代码段,它响应包含在对象的请求中的请求者特定能力信息,以及包含在接收的将被返回至请求者的对象特定描述符信息,有选择地执行以下步骤,不处理该对象,或部分或全部处理该对象,使对象与消耗该对象的请求者的能力相一致。
40.一个机器可读的程序存储设备,它明确地实现由该机器可执行的指令的程序,以进行启动合作计算节点互联分级网络中独立的一个计算节点机的方法步骤,从而根据消耗对象的设备的能力而进行对象处理,该方法响应包含在对象请求中的请求者特定能力信息,并进一步响应包含在从对象源或另一个计算节点机接收的对象中的对象特定描述符信息,有选择地进行以下步骤之一,不处理对象,或部分或完全处理对象,以使该对象与消耗该对象的请求者的能力相一致。
全文摘要
一种用于合作数据网络的分布式对象渲染方法和系统。该数据网络包括目标请求器节点,目标源节点和可能是代理服务器的中间节点。该方法可允许每个参与的代理服务器适应本身及其它代理的动态负载条件,还有在数据网络中的动态通信条件。确定哪个或哪组代理进行对象渲染是基于在这些代理中采用的一个分布式合作方法而进行的。如果一个目标着色能被分段,如,不同的分解着色,能通过多于一个代理执行。
文档编号G06F15/16GK1268701SQ00104749
公开日2000年10月4日 申请日期2000年3月24日 优先权日1999年3月29日
发明者黄允武, P·S·L·于, 吴坤龙 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1