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

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

Info

Publication number
CN1201244C
CN1201244C CNB001047493A CN00104749A CN1201244C CN 1201244 C CN1201244 C CN 1201244C CN B001047493 A CNB001047493 A CN B001047493A CN 00104749 A CN00104749 A CN 00104749A CN 1201244 C CN1201244 C CN 1201244C
Authority
CN
China
Prior art keywords
requestor
node
intermediate computations
image object
image
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 - Lifetime
Application number
CNB001047493A
Other languages
English (en)
Other versions
CN1268701A (zh
Inventor
黄允武
P·S·-L·于
吴坤龙
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.)
Trend Technology Corp.
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1268701A publication Critical patent/CN1268701A/zh
Application granted granted Critical
Publication of CN1201244C publication Critical patent/CN1201244C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers

Abstract

一种用于合作数据网络的分布式对象渲染方法和系统。该数据网络包括目标请求器节点,目标源节点和可能是代理服务器的中间节点。该方法可允许每个参与的代理服务器适应本身及其它代理的动态负载条件,还有在数据网络中的动态通信条件。确定哪个或哪组代理进行对象渲染是基于在这些代理中采用的一个分布式合作方法而进行的。如果一个目标着色能被分段,如,不同的分解着色,能通过多于一个代理执行。

Description

对象渲染分布调配的 合作代理系统的方法和设备
本发明涉及数据网络,尤其涉及在一个数据网络上执行分布对象渲染的能力。特别地,多个合作代理服务器执行分布对象渲染,以使对象内容通过各种用户设备,在它们各自设备能力及规格的基础上显示或消耗。
本专利申请涉及美国相关的正在审核期的专利申请: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(c1s2)说明,指示PDD只能显示(d)1位彩色编码(c)最大尺寸(s)为2M字节(两兆字节)的图象。这个设备能力PICS标号插入由个人数字设备或连接至该个人数字设备的代理服务器在不同服务器110,111,112中发送的HTTP请求标题中当中发送,如上所述。这个PICS标号在本发明的上下文中被称为接收者暗示信息(RHI)。
可以理解,接收一个有上面注明的PICS标号r(c16s1000)的图象对象的代理服务器110,111,112,响应来自有上述RHI d(c1s2)的PDD的请求,将被通知该PDD不能显示接收的图像对象,因而该图象对象需要被渲染成该PDD可以显示的形式。代理服务器可执行全部渲染过程,然后将图象对象的PICS标号修改成r(c1s2),即,指定一种与请求的PDD的显示能力兼容的格式。然而,如果因为某种原因,代理服务器选择不完全渲染图象对象,或完全不渲染图象对象,例如,出于负载考虑或缺乏合适的软件的原因,那么图象对象的PICS标号将不会反映与PDD的显示能力相兼容的条件。例如,假设给定的一个代理服务器110,111,112只选择修改收到图象对象的色彩编码,从16水平修改为1,则下一个代理服务器接收的修改后的PICS标号将是r(c1s1000),它仍然是一个不与PDD的RHI d(c1s2)相兼容的格式。然后下一个代理服务器110,111,112选择将接收的图象对象进行渲染,将图象尺寸从1000兆字节减少到2兆字节,结果修改的PICS标号为r(c1s2)这是与PDD的RHI d(c1s2)相兼容的格式。
作为分布对象渲染的另一个示例,假设个人数字设备PDD正在请求一个图象文件,并且这个图象文件不是在当前网络101中任何代理服务器110,111,112中存在的。该请求先被发送到一个本地代理服务器A,例如一个本地ISP(因特网服务供应商),然后转发到一个地区代理服务器B,然后再到国家代理服务器C。那么,国家代理服务器C发出一个请求给适合的内容服务器120或121。
根据本发明技术的一个方面,代理服务器A通过识别设备的ID来识别图形文件的HTTP请求是来自一个特定的设备PDD。然后本地代理服务器A查找在本地存储器或另一个存储器中存储的表或目录,以发现该PDD的设备能力和相应的设备能力PICS标号,如,d(c1s3),表示这个设备只能显示最大3兆字节与1位色彩编码的图象。然后这个PICS标号被放到超文本传输协议请求标题中(作为PDD的RHI),接着被发送至区域和国家代理服务器B和C。响应来自国家代理服务器C的请求中,内容服务器120或121准备一个分辨率PICS标号,r(c16s100),并把它插在响应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(c1s3)指示的设备规格,并将已渲染图象文件发送到发出请求的PDD用户设备130或131。
本领域的技术人员可以理解,许多可能的网络布局及总体结构可以得益于本发明的技术和根据本发明技术运行。因此,本发明技术不局限于上面所描述的示例。
此外,本发明技术不限于使用PICSTM格式化标签或实现RHI的数据结构。
除了图象对象,一个或多个中间计算节点能够请求,返回和处理其他对象。例如,音频对象能以与上面所描述的图象对象同样或类似的方法来处理,其中,RHI可以指示请求者音频播放能力。本发明技术也可被应用到包含许多标题和文本段落的复杂的HTML文件中,当被例如PDD的有有限的显示能力的设备请求时简化该文件。
还应理解,本发明的技术包含一个在计算机可读媒介(如磁盘201)上的实现的计算机程序,以提供协作服务器网络中的服务器中的一个,其中的合作服务器能够根据将消耗对象的设备能力而进行对象处理,例如图象渲染。计算机程序包括一个代码段,响应包含在对象请求中的请求者特定能力信息,以及包含在接收的对象中的对象特定信息,而完全或部分处理该对象以使对象与请求者的能力相一致。
本发明还包含一个可由机器读出的程序存储设备,明确地实现由该机器可执行的指令的程序,以启动实现合作计算节点的互联分级网络中的独立的一个计算节点的方法步骤,根据消耗对象的设备的能力而进行对象处理,例如渲染。该方法响应包含在对象请求中的请求者特定能力信息,和进一步响应包含在从对象源或另一个计算节点机的对象中的对象特定信息,部分或全部处理对象,以使该对象与消耗该对象的请求者的能力相一致。
因此,根据本发明的最佳实施例对本发明进行了描述,本领域的技术人员可以理解,在不背离本发明的实质和范围的情况下,可以对本发明作出形式和细节上的修改。

Claims (38)

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的网络,其中至少所述请求者特定图象显示能力信息被表示为因特网内容选择平台格式。
CNB001047493A 1999-03-29 2000-03-24 对象渲染分布调配的合作代理系统的方法和设备 Expired - Lifetime CN1201244C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/280,746 1999-03-29
US09/280,746 US6438576B1 (en) 1999-03-29 1999-03-29 Method and apparatus of a collaborative proxy system for distributed deployment of object rendering
US09/280746 1999-03-29

Publications (2)

Publication Number Publication Date
CN1268701A CN1268701A (zh) 2000-10-04
CN1201244C true CN1201244C (zh) 2005-05-11

Family

ID=23074449

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB001047493A Expired - Lifetime CN1201244C (zh) 1999-03-29 2000-03-24 对象渲染分布调配的合作代理系统的方法和设备

Country Status (10)

Country Link
US (1) US6438576B1 (zh)
EP (1) EP1047240B1 (zh)
JP (1) JP3974307B2 (zh)
KR (1) KR100322716B1 (zh)
CN (1) CN1201244C (zh)
AT (1) ATE281732T1 (zh)
CA (1) CA2300562C (zh)
DE (1) DE60015423T2 (zh)
IL (1) IL134457A (zh)
TW (1) TW449985B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102405631A (zh) * 2009-02-20 2012-04-04 思杰系统有限公司 用于中间设备压缩通过远程显示协议传递的数据的系统和方法

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256620B1 (en) * 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
US6298356B1 (en) * 1998-01-16 2001-10-02 Aspect Communications Corp. Methods and apparatus for enabling dynamic resource collaboration
US6389460B1 (en) * 1998-05-13 2002-05-14 Compaq Computer Corporation Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
JP3485252B2 (ja) * 1999-06-16 2004-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理方法、情報端末支援サーバ、コラボレーション・システム、情報処理プログラムを格納する記憶媒体
US7349902B1 (en) * 1999-08-04 2008-03-25 Hewlett-Packard Development Company, L.P. Content consistency in a data access network system
US6563502B1 (en) * 1999-08-19 2003-05-13 Adobe Systems Incorporated Device dependent rendering
US7016973B1 (en) * 1999-11-19 2006-03-21 At&T Corp. Apparatus and methods for providing translucent proxies in a communications network
US8117644B2 (en) * 2000-01-07 2012-02-14 Pennar Software Corporation Method and system for online document collaboration
US6799196B1 (en) * 2000-01-21 2004-09-28 Gateway, Inc. On-demand data streaming parceling
US20020002603A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for web serving
US7092983B1 (en) * 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US7783695B1 (en) * 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7062527B1 (en) * 2000-04-19 2006-06-13 Silicon Graphics, Inc. Management and scheduling of a distributed rendering method and system
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US8285783B2 (en) * 2000-09-20 2012-10-09 Sony Corporation Distribution system and distribution method
US6708216B1 (en) * 2000-09-23 2004-03-16 Paul Lee Closed virtual network system
JP4025498B2 (ja) * 2000-10-18 2007-12-19 日本電気株式会社 オブジェクトフィルタリング方法及びそれを用いたクライアント装置
US7290061B2 (en) * 2000-12-05 2007-10-30 Citrix Systems, Inc. System and method for internet content collaboration
US7598955B1 (en) 2000-12-15 2009-10-06 Adobe Systems Incorporated Hinted stem placement on high-resolution pixel grid
CA2328795A1 (en) 2000-12-19 2002-06-19 Advanced Numerical Methods Ltd. Applications and performance enhancements for detail-in-context viewing technology
US20020080171A1 (en) * 2000-12-22 2002-06-27 Laferriere Robert James Method and apparatus for coordinating screen views in a collaborative computing environment
US7127514B2 (en) * 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US20020107910A1 (en) * 2001-02-02 2002-08-08 Yan Zhao Client/server two-way communication system framework under HTTP protocol
US20020107891A1 (en) * 2001-02-06 2002-08-08 Leamon Andrew P. Device-independent content acquisition and presentation
US7200679B2 (en) * 2001-04-13 2007-04-03 Telefonaktiebolaget Lm Ericsson (Publ) Creating distributed proxy configurations
GB2374779B (en) * 2001-04-20 2005-11-02 Discreet Logic Inc Processing image data
GB2374778B (en) 2001-04-20 2005-11-02 Discreet Logic Inc Processing image data
CA2345803A1 (en) 2001-05-03 2002-11-03 Idelix Software Inc. User interface elements for pliable display technology implementations
US8416266B2 (en) 2001-05-03 2013-04-09 Noregin Assetts N.V., L.L.C. Interacting with detail-in-context presentations
US9760235B2 (en) 2001-06-12 2017-09-12 Callahan Cellular L.L.C. Lens-defined adjustment of displays
WO2002101534A1 (en) 2001-06-12 2002-12-19 Idelix Software Inc. Graphical user interface with zoom for detail-in-context presentations
US7084886B2 (en) 2002-07-16 2006-08-01 Idelix Software Inc. Using detail-in-context lenses for accurate digital image cropping and measurement
US20020191206A1 (en) * 2001-06-18 2002-12-19 Anderson Jeff M. Rendering broker service and method
US20020199013A1 (en) * 2001-06-25 2002-12-26 Sorensen Lauge S. Method and apparatus for moving HTML/XML information into a HTTP header in a network
US20030016233A1 (en) * 2001-06-29 2003-01-23 Bitflash Graphics, Inc. Method and system for manipulation of graphics information
US20030031992A1 (en) * 2001-08-08 2003-02-13 Laferriere Robert J. Platform independent telecollaboration medical environments
JP2003067527A (ja) * 2001-08-29 2003-03-07 Nec Corp コンテンツアクセス管理装置及びそれに用いるコンテンツアクセス管理方法並びにそのプログラム
CA2361341A1 (en) 2001-11-07 2003-05-07 Idelix Software Inc. Use of detail-in-context presentation on stereoscopically paired images
KR100400014B1 (ko) * 2001-11-12 2003-09-29 삼성전자주식회사 신호 처리 시스템에서의 중복 신호처리 방지 제어 장치 및방법
US7428725B2 (en) * 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US7150042B2 (en) 2001-12-06 2006-12-12 Mcafee, Inc. Techniques for performing malware scanning of files stored within a file storage device of a computer network
US7093002B2 (en) * 2001-12-06 2006-08-15 Mcafee, Inc. Handling of malware scanning of files stored within a file storage device of a computer network
CA2370752A1 (en) 2002-02-05 2003-08-05 Idelix Software Inc. Fast rendering of pyramid lens distorted raster images
JP2003271572A (ja) * 2002-03-14 2003-09-26 Fuji Photo Film Co Ltd 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US20040024867A1 (en) * 2002-06-28 2004-02-05 Openwave Systems Inc. Method and apparatus for determination of device capabilities on a network
US7299033B2 (en) 2002-06-28 2007-11-20 Openwave Systems Inc. Domain-based management of distribution of digital content from multiple suppliers to multiple wireless services subscribers
US7809813B2 (en) * 2002-06-28 2010-10-05 Microsoft Corporation System and method for providing content-oriented services to content providers and content consumers
US7233790B2 (en) * 2002-06-28 2007-06-19 Openwave Systems, Inc. Device capability based discovery, packaging and provisioning of content for wireless mobile devices
US8120624B2 (en) 2002-07-16 2012-02-21 Noregin Assets N.V. L.L.C. Detail-in-context lenses for digital image cropping, measurement and online maps
US20070064018A1 (en) * 2005-06-24 2007-03-22 Idelix Software Inc. Detail-in-context lenses for online maps
CA2393887A1 (en) 2002-07-17 2004-01-17 Idelix Software Inc. Enhancements to user interface for detail-in-context data presentation
US7051040B2 (en) 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
US7136895B2 (en) * 2002-07-24 2006-11-14 Sun Microsystems, Inc. System and method for forward chaining web-based procedure calls
CA2406131A1 (en) 2002-09-30 2004-03-30 Idelix Software Inc. A graphical user interface using detail-in-context folding
CA2449888A1 (en) 2003-11-17 2005-05-17 Idelix Software Inc. Navigating large images using detail-in-context fisheye rendering techniques
CA2411898A1 (en) 2002-11-15 2004-05-15 Idelix Software Inc. A method and system for controlling access to detail-in-context presentations
US7002597B2 (en) * 2003-05-16 2006-02-21 Adobe Systems Incorporated Dynamic selection of anti-aliasing procedures
US7006107B2 (en) * 2003-05-16 2006-02-28 Adobe Systems Incorporated Anisotropic anti-aliasing
US7526549B2 (en) * 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system
US7519574B2 (en) * 2003-08-25 2009-04-14 International Business Machines Corporation Associating information related to components in structured documents stored in their native format in a database
US8150818B2 (en) * 2003-08-25 2012-04-03 International Business Machines Corporation Method and system for storing structured documents in their native format in a database
US8250093B2 (en) 2003-08-25 2012-08-21 International Business Machines Corporation Method and system for utilizing a cache for path-level access control to structured documents stored in a database
US7792866B2 (en) * 2003-08-25 2010-09-07 International Business Machines Corporation Method and system for querying structured documents stored in their native format in a database
US8775468B2 (en) * 2003-08-29 2014-07-08 International Business Machines Corporation Method and system for providing path-level access control for structured documents stored in a database
US9100814B2 (en) * 2003-09-17 2015-08-04 Unwired Plant, Llc Federated download of digital content to wireless devices
US7639258B1 (en) 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
US7580039B2 (en) 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7333110B2 (en) * 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7486302B2 (en) 2004-04-14 2009-02-03 Noregin Assets N.V., L.L.C. Fisheye lens graphical user interfaces
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US8106927B2 (en) 2004-05-28 2012-01-31 Noregin Assets N.V., L.L.C. Graphical user interfaces and occlusion prevention for fisheye lenses with line segment foci
US9317945B2 (en) 2004-06-23 2016-04-19 Callahan Cellular L.L.C. Detail-in-context lenses for navigation
US7756879B2 (en) * 2004-07-23 2010-07-13 Jeffrey Parsons System and method for estimating user ratings from user behavior and providing recommendations
US7714859B2 (en) 2004-09-03 2010-05-11 Shoemaker Garth B D Occlusion reduction and magnification for multidimensional data presentations
US7995078B2 (en) 2004-09-29 2011-08-09 Noregin Assets, N.V., L.L.C. Compound lenses for multi-source data presentation
US7302468B2 (en) * 2004-11-01 2007-11-27 Motorola Inc. Local area preference determination system and method
US7580036B2 (en) 2005-04-13 2009-08-25 Catherine Montagnese Detail-in-context terrain displacement algorithm with optimizations
US7978204B2 (en) * 2005-04-29 2011-07-12 Nvidia Corporation Transparency-conserving system, method and computer program product to generate and blend images
CN100354788C (zh) * 2005-07-20 2007-12-12 华为技术有限公司 一种数字版权保护系统及方法
US8031206B2 (en) 2005-10-12 2011-10-04 Noregin Assets N.V., L.L.C. Method and system for generating pyramid fisheye lens detail-in-context presentations
US20070174762A1 (en) * 2006-01-24 2007-07-26 International Business Machines Corporation Personal web page annotation system
US7974988B2 (en) * 2006-02-24 2011-07-05 Syniverse Icx Corporation System and method for cross-carrier mobile device capability discovery
US7983473B2 (en) 2006-04-11 2011-07-19 Noregin Assets, N.V., L.L.C. Transparency adjustment of a presentation
US20080068383A1 (en) * 2006-09-20 2008-03-20 Adobe Systems Incorporated Rendering and encoding glyphs
JP5188057B2 (ja) * 2006-11-14 2013-04-24 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理装置、および情報処理方法
WO2008061903A1 (en) * 2006-11-22 2008-05-29 Agfa Healthcate Inc. Method and system for client / server distributed image processing
US9026938B2 (en) 2007-07-26 2015-05-05 Noregin Assets N.V., L.L.C. Dynamic detail-in-context user interface for application access and content access on electronic displays
WO2009052529A1 (en) * 2007-10-20 2009-04-23 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphical data
JP2009194692A (ja) * 2008-02-15 2009-08-27 Ntt Docomo Inc 遠隔デバイス利用システム
US7800471B2 (en) * 2008-04-04 2010-09-21 Cedar Ridge Research, Llc Field emission system and method
US20090265661A1 (en) * 2008-04-14 2009-10-22 Gary Stephen Shuster Multi-resolution three-dimensional environment display
JP5397014B2 (ja) * 2009-05-21 2014-01-22 ソニー株式会社 監視システム、撮像装置、解析装置及び監視方法
US9323582B2 (en) * 2009-08-12 2016-04-26 Schlumberger Technology Corporation Node to node collaboration
CN102196300A (zh) * 2010-03-18 2011-09-21 国际商业机器公司 虚拟世界场景的图像的提供方法和设备及处理方法和设备
CN102044089A (zh) * 2010-09-20 2011-05-04 董福田 一种三维模型的自适应化简、渐进传输和快速绘制的方法
US8928899B2 (en) * 2011-02-24 2015-01-06 Ricoh Company, Ltd. Web services printer driver
US9002994B2 (en) * 2011-04-02 2015-04-07 Open Invention Network, Llc System and method for connection efficiency
CN104246743B (zh) * 2012-02-20 2017-03-29 维图斯瑞姆Ip控股公司 涉及在网络上虚拟机主机隔离的系统和方法
US9747386B1 (en) * 2012-08-10 2017-08-29 Amazon Technologies, Inc. User-perceived performance through browser hints
CN105335236B (zh) * 2015-12-10 2019-03-19 厦门市美亚柏科信息股份有限公司 一种分布式取证动态负载均衡调度方法和装置
CN105959238A (zh) * 2016-06-28 2016-09-21 深圳市彬讯科技有限公司 一种基于消息队列多优先级渲染资源的调度方法及系统
CN108710543A (zh) * 2018-05-21 2018-10-26 苏州本乔信息技术有限公司 一种渲染任务的处理方法及设备
US11436524B2 (en) * 2018-09-28 2022-09-06 Amazon Technologies, Inc. Hosting machine learning models
US11562288B2 (en) 2018-09-28 2023-01-24 Amazon Technologies, Inc. Pre-warming scheme to load machine learning models
US10924534B2 (en) 2019-03-01 2021-02-16 Akamai Technologies, Inc. Dynamic placement of computing tasks in a distributed computing environment
US11252226B2 (en) * 2020-03-05 2022-02-15 Qualcomm Incorporated Methods and apparatus for distribution of application computations

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793964A (en) * 1995-06-07 1998-08-11 International Business Machines Corporation Web browser system
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups
JPH0981569A (ja) * 1995-09-12 1997-03-28 Hitachi Ltd 多カ国対応サービス提供システム
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5727159A (en) * 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5862481A (en) * 1996-04-08 1999-01-19 Northern Telecom Limited Inter-technology roaming proxy
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5742768A (en) * 1996-07-16 1998-04-21 Silicon Graphics, Inc. System and method for providing and displaying a web page having an embedded menu
US6167442A (en) * 1997-02-18 2000-12-26 Truespectra Inc. Method and system for accessing and of rendering an image for transmission over a network
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
KR100237387B1 (ko) * 1997-05-29 2000-01-15 정선종 분산처리환경에서 네임서비스 접속방법
JPH1145199A (ja) * 1997-07-29 1999-02-16 Omron Corp 分散型情報配信装置及びその方法
KR100232497B1 (ko) * 1997-10-08 1999-12-01 김덕중 단순 망 관리 프로토콜에 의한 망 관리 장치
US6275937B1 (en) * 1997-11-06 2001-08-14 International Business Machines Corporation Collaborative server processing of content and meta-information with application to virus checking in a server network
US6122666A (en) * 1998-02-23 2000-09-19 International Business Machines Corporation Method for collaborative transformation and caching of web objects in a proxy network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102405631A (zh) * 2009-02-20 2012-04-04 思杰系统有限公司 用于中间设备压缩通过远程显示协议传递的数据的系统和方法

Also Published As

Publication number Publication date
IL134457A0 (en) 2001-04-30
EP1047240A2 (en) 2000-10-25
CN1268701A (zh) 2000-10-04
ATE281732T1 (de) 2004-11-15
IL134457A (en) 2004-06-01
CA2300562A1 (en) 2000-09-29
DE60015423D1 (de) 2004-12-09
US6438576B1 (en) 2002-08-20
DE60015423T2 (de) 2005-11-10
CA2300562C (en) 2006-04-11
JP3974307B2 (ja) 2007-09-12
EP1047240B1 (en) 2004-11-03
KR20000076843A (ko) 2000-12-26
JP2000322395A (ja) 2000-11-24
TW449985B (en) 2001-08-11
KR100322716B1 (ko) 2002-02-07
EP1047240A3 (en) 2003-10-22

Similar Documents

Publication Publication Date Title
CN1201244C (zh) 对象渲染分布调配的合作代理系统的方法和设备
JP2970760B2 (ja) 動的ルーティング方法及びプログラム記憶装置
US6839700B2 (en) Load balancing content requests using dynamic document generation cost information
US7809813B2 (en) System and method for providing content-oriented services to content providers and content consumers
CA2267953C (en) Web serving system with primary and secondary servers
KR100255498B1 (ko) 동적 페이지 링크 리타겟팅 방법
US20020147652A1 (en) System and method for distruibuted client state management across a plurality of server computers
US20100287272A1 (en) Method For Structuring a Self-Organized Content Distribution Overlay Network For a Peer-to-Peer Network
US7627549B1 (en) Methods and systems for transferring data over electronics networks
US20030195964A1 (en) Managing multicast sessions
US20030005132A1 (en) Distributed service creation and distribution
US8238243B2 (en) System and method for network optimization by managing low priority data transfers
CN1517900A (zh) 用于对等访问的方法和装置
JP2000187609A (ja) 要求されたオブジェクトを検索する方法及び記録デバイス
Heinzl et al. Flex-swa: Flexible exchange of binary data based on soap messages with attachments
CN1433545A (zh) 基于匿名主体寻址的方法和设备
CN107153574A (zh) 图片转码方法及系统
Zhang et al. A SOAP-oriented component-based framework supporting device-independent multimedia web services
US7620734B2 (en) System and method for distributing foveated data in a network
US8606876B2 (en) Method and system for accelerating data communication that is using multipart
Pierre et al. Design and implementation of a user-centered content distribution network
WO2007080753A1 (ja) ネットワーク資源管理装置、ネットワーク資源管理システム、ネットワーク資源管理方法
Pereira et al. Web service and business process execution on peer-to-peer environments
Jevremovic et al. DMS—Improving Web performance
Triantafillou et al. Guiding Web Proxy and Server Placement for High Performance Internet Content Delivery1

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: TREND TECHNOLOGY CORP.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORP.

Effective date: 20100827

COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: NEW YORK, THE USA TO: TOKYO TO, JAPAN

TR01 Transfer of patent right

Effective date of registration: 20100827

Address after: Tokyo, Japan, Japan

Patentee after: Trend Technology Corp.

Address before: American New York

Patentee before: International Business Machines Corp.

CX01 Expiry of patent term

Granted publication date: 20050511

CX01 Expiry of patent term