JP3974307B2 - オブジェクト・レンダリングの分散配置のための協調プロキシ・システムの方法および装置 - Google Patents

オブジェクト・レンダリングの分散配置のための協調プロキシ・システムの方法および装置 Download PDF

Info

Publication number
JP3974307B2
JP3974307B2 JP2000070616A JP2000070616A JP3974307B2 JP 3974307 B2 JP3974307 B2 JP 3974307B2 JP 2000070616 A JP2000070616 A JP 2000070616A JP 2000070616 A JP2000070616 A JP 2000070616A JP 3974307 B2 JP3974307 B2 JP 3974307B2
Authority
JP
Japan
Prior art keywords
image object
computing node
specific
rendering
requester
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
JP2000070616A
Other languages
English (en)
Other versions
JP2000322395A (ja
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.)
International Business Machines 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 JP2000322395A publication Critical patent/JP2000322395A/ja
Application granted granted Critical
Publication of JP3974307B2 publication Critical patent/JP3974307B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Image Generation (AREA)
  • Computer And Data Communications (AREA)
  • Telephone Function (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)
  • Superconductors And Manufacturing Methods Therefor (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデータ・ネットワークに関し、さらに詳しくは、データ・ネットワークで分散オブジェクト・レンダリングを実行する能力に関する。特に、複数の協調プロキシ・サーバは、オブジェクト内容を様々な種類のクライアント装置上に表示したりそれらによって使用することができるように、それらのそれぞれの装置能力および仕様に基づいて、分散オブジェクト・レンダリングを実行する。
【0002】
【従来の技術】
インターネットがどんどん普及するにつれて、ますます多くのいわゆるスマートホンやPDA(パーソナル・デジタル・アシスタント)などパーソナル・コンピュータ(PC)装置が、有線または無線接続のいずれかによって、インターネットに接続されている。インターネットは、PCおよびその他のサーバ・コンピュータと同様に、様々な種類の情報機器/装置も全て接続される、いわゆる一般にパーベイシブ・コンピューティング環境になってきている。そのような一般にパーベイシブ・コンピューティング環境では、個々の機器/装置が異なる計算能力および表示機能を持つことが予想される。例えば、一部の装置はカラー画像を表示することができるかもしれないが、他の装置は白黒画像しか表示できないかもしれない。また、一部の装置は大きく見易いディスプレイを備えているかもしれないが、他の装置はそれに比べてずっと小さいディスプレイしか持たないかもしれない。したがって、そのような一般にパーベイシブ・コンピューティング環境では、同じ情報オブジェクトでも、異なる装置ディスプレイ仕様に従って異なる形式または解像度でレンダリングしなければならないことを理解することができる。
【0003】
様々な解像度で情報を表現するために、様々な技術が開発されてきた。A.オーテガ(Ortega)らによる「A Framework for Optimization of a Multiresolution Remote Image Retrieval System」(1994年IEEE InforCom会報)で、複数の解像度で画像および映像を伝送するシステムが開示された。G.ウォレス(Wallace)による「The JPEG Still Picture Compression Standard」(IEEE Transactions on Consumer Electronics第38巻第1号)1992年2月に、複数の異なる解像度で画像を表現するためのJPEG画像圧縮標準が記載された。
【0004】
様々な形式または解像度へのオブジェクトのレンダリングは、様々な場所で実行することができる。1つの可能な場所は、内容サーバ内である。しかし、内容サーバは、多数の様々なクライアント要求が全部同じ内容サーバに入ってくる場合には特に、簡単に過負荷状態になる。オブジェクト・レンダリングの別の可能な場所は、実際にオブジェクトを使用するクライアント・マシン内である。しかし、多くの一般的なクライアント・マシンは必要なレンダリング機能を実行するにはコンピューティング能力が限られている傾向があるので、これは望ましくない。
【0005】
別法として、レンダリングは、内容サーバとクライアント装置との間のデータ・ネットワーク内に配置された1つ以上のプロキシ・サーバによって行うことができる。このシナリオでは、装置特有の情報をオブジェクトに関連付けられたメタ情報に付加することができ、プロキシ・サーバは、このメタ情報に従ってオブジェクト・レンダリングを実行することができる。ひとたびオブジェクト・レンダリングがプロキシ・サーバによって実行されると、その結果をプロキシ・サーバのキャッシュ(格納)することができる。この場合、同種の装置からの同じオブジェクトへのその後の要求は、プロキシ・サーバのキャッシュ内に格納されたコピーから直接満たすことができる。その結果、同種の装置のためのオブジェクトの反復レンダリングを回避することができる。応答時間を改善するために、IBM NETFINITYサーバなど多くのPCサーバが、インターネット内でプロキシ・サーバのネットワークとして展開されつつある(IBMおよびNETFINITYはどちらもインターナショナル・ビジネス・マシーンズ・コーポレイションの登録商標である)。これらのプロキシ・サーバは、オブジェクト・レンダリングおよびキャッシングにおいて協調的に作動することができる。
【0006】
例えば、上で参照したB.へイルパーン(Hailpern)らの「Collaborative Server Processing of Content and Meta-Information with Application to Virus Checking in a Server Network」という名称の本願譲受人に譲渡された米国特許出願に、1つのプロキシ・サーバを選択することによってプロキシ・ネットワークのメタ情報に基づいてウィルス検査を実行する方法が開示されている。この方法は、ネットワーク内のプロキシの1つによってメタ情報に基づいてオブジェクトに特定の計算を実行する方法を開示している。計算後のオブジェクトのキャッシングの態様には、特に注意は払われなかった。また、計算は、選択されたプロキシ・サーバによって完全に行われるのであって、2つ以上のプロキシ・サーバによって分散された方法では行われない。
【0007】
上で参照したJ.ベールケット(Beurket)らの「Method for Collaborative Transformation and Caching of Web Objects in a Proxy Network」という名称の本願譲受人に譲渡された米国特許出願に、1つ以上の特殊プロキシを配置して変形およびキャッシングを実行する方法が提示されている。ひとたび変形/レンダリングが行われ、キャッシングが行われると、希望の解像度のその後の要求は全て、これらの特殊変形用プロキシによって満たされる。この方法では、オブジェクトのキャッシングおよびレンダリングは同一特殊プロキシで完全に行われ、オブジェクトのレンダリングは、異なる段階でまたは協調的に2つ以上の異なるプロキシによって分散された方法では簡単に実行されない。
【0008】
A.フォックス(Fox)の論文「Adapting to Network and Client Variation Using Infrastructural Proxies:Lessons and Perspective」(IEEE Personal Communications, pp.10-19, 1998年8月)には、データ型特有のディスティレーション(distillation)をプロキシ・クラスタに対して実行する方法が開示されている。オブジェクト・レンダリングおよびキャッシングは全て、特定のプロキシ・クラスタによって実行される。クラスタ内のプロキシ間の負荷の均衡化を実行するために、集中型マネージャが使用される。この方法の欠点は、オブジェクトのレンダリングおよびキャッシングが、同一のプロキシ・クラスタで完全に行われ、分散された方法では行われないことである。ネットワーク内の他のプロキシは、同一クラスタ内のものを除いて、オブジェクト・レンダリング・プロセスの段階の一部に参加することができない。
【0009】
以上に鑑みて、オブジェクト・レンダリングを分散方式で展開できる協調プロキシ・システムの必要が存在することが理解できる。本発明以前には、この必要性は満たされていなかった。
【0010】
【発明が解決しようとする課題】
本発明の第1の目的および利点は、分散方式でオブジェクト・レンダリングを実行する協調プロキシ・システムを提供することである。
【0011】
本発明の別の目的および利点は、プロキシ・ネットワーク全体にオブジェクト・レンダリング処理を分散し、特殊オブジェクト・レンダリング・プロキシのみにオブジェクト・レンダリング処理を集中させない技術を提供することである。
【0012】
本発明のさらなる目的および利点は、レンダリングなどのオブジェクト処理タスクが例えばプロキシ・ネットワークの動的ローディング特性に基づいて適応方式で分散される、協調プロキシ・ネットワークを提供することである。
【0013】
【課題を解決するための手段】
本発明の実施形態に係る方法および装置によって、上記の他の問題は克服され、目的および利点は実現される。
【0014】
本発明の教示によれば、協調データ・ネットワークの分散オブジェクト・レンダリング方法が開示される。インターネットを含むことができるこのデータ・ネットワークは、オブジェクト要求側ノードと、オブジェクト・ソース・ノードと、プロキシ・サーバとすることのできる中間ノードとを含む、接続されたコンピューティング・ノードを備えている。この方法は、各参加プロキシ・サーバ(これは単に「プロキシ」と呼ぶことができる)をそれ自体および複数のプロキシの動的負荷状態のみならず、データ・ネットワーク内の動的トラヒック状態にも適応させることができる。どのプロキシまたはプロキシの組がオブジェクト・レンダリングおよびキャッシングを実行するかの決定は、プロキシ間で採用される分散協調方法に基づく。そのような方法の判断基準には、プロキシ間のネットワーク・リンクの帯域幅および現在の負荷、および/またはプロキシのそれぞれのCPUの使用状態を含めることができる。例えば異なる解像度レンダリングなど、オブジェクト・レンダリングを段階化することができる場合、それは2つ以上のプロキシによって実行することができる。どのプロキシが多段レンダリングのどの段階を実行するかの決定もまた、動的負荷状態およびネットワーク状態に適応させることができる。
【0015】
その結果、参加プロキシは、オブジェクトの要求を満たした後、まず最初に、クライアント装置の種類に基づいて、オブジェクト・レンダリング処理が必要であるかどうかを決定する。オブジェクト・レンダリング処理が必要であることが分かった場合には、要求オブジェクトの型およびネットワーク内の他のプロキシに関する協調情報に基づいて、参加プロキシは、(a)単独で完全なオブジェクト・レンダリングを実行すること、(b)レンダリング・プロセスを段階化することができるならば、部分レンダリングを実行すること、または(c)何もせず、別のプロキシにレンダリング・タスクを実行させることを選択することができる。目的は、レンダリング処理を、単に特殊オブジェクト・レンダリング・プロキシだけでなく、プロキシ・ネットワーク全体に分散させることである。
【0016】
本発明はこのようにして、相互接続されたコンピューティング・ノードで構成されるネットワークの分散動的階層レンダリング方法を提供する。この方法は、オブジェクト要求ノードまたはオブジェクト要求ノードに結合されたプロキシ・ノードで、オブジェクト要求ノードの能力を記述する特定のメタ情報(以下、レシーバ・ヒント情報(RHI)または要求側特有の能力情報と呼ぶ)をオブジェクト要求に含める段階と、中間ノードでオブジェクト要求を受信し、要求オブジェクトが局所的に得られなかった場合には、レンダリング・サービスを提供するためのその局所状態を示す情報を含めるようにRHIを変更しながら、その要求を別の中間ノード(または要求オブジェクトのソース)へ転送する段階を含む。そうでない場合には、中間ノードは、必要なレンダリングを決定し、選択関数を呼び出して、RHIに基づき、必要なレンダリングのどの部分またはサブセットをその中間ノードで実行するかを決定する。次いで中間ノードはレンダリングを実行し、レンダリングされたオブジェクトを要求ノードに渡す。本発明の一部として、部分的にレンダリングされたオブジェクトを受信する別の中間ノードは、選択関数を呼び出して、RHIに基づき、必要なレンダリングの残りのどの部分(または全部)をこの中間ノードによって実行するかを決定し、次いでレンダリングを実行し、レンダリングされたオブジェクトを要求ノードに渡す。
【0017】
あまり詳細でないバージョンの要求オブジェクトを持つ中間ノードでは、この方法はそのような情報をRHIに含み、要求を別のノードに転送し、より詳細なバージョンの要求オブジェクトを持つ別の中間ノードでは、より詳細なバージョンの要求オブジェクトをさらなる局所レンダリング無しで返すか、それともその代わりに多少のレンダリングを実行し、部分的にレンダリングされたオブジェクトを返すか、それともその代わりに完全にレンダリングされたオブジェクトを返すかどうかを、ノードが決める。
【0018】
局所状態情報は、ノードのローディングおよび/または能力(CPUの利用率など)を含めることができ、かつネットワーク遅延(要求ノードからの)の関数とすることができる。局所状態情報はさらに、そのノードで実行できるレンダリングの種類(これはそのノードで利用できるソフトウェアによって決まる)を含めることができる。局所状態情報はさらに、その局所ノードにおける記憶場所の使用可能性を含めることができる。
【0019】
RHI情報を使用して必要なレンダリングのどの部分を局所的に実行するかを、動的にかつ他のノードとは独立して決定するために、選択方法が各中間ノードに提供される。この選択方法は、(a)残りのレンダリング動作を複数のステップに分割するステップと、(b)RHI情報を入力パラメータとして使用して、任意の目的関数を最適化するために局所的に実行すべき1つ以上のレンダリング・ステップを選択するステップと、(c)現在のノードに選択された1つ以上のレンダリング・ステップを実行するステップとを含むことができる。目的関数は、最大の帯域幅の削減を先にしてレンダリング・ステップを実行し、かつ/または要求クライアント装置ノードまでの経路上の残りのノード間の負荷の不均衡を軽減するようにレンダリング・ステップを実行することができる。目的関数はまた、RHI情報に基づくこのノードから要求ノードまでの推定応答時間とすることもできる。
【0020】
別法として、選択方法は、(a)残りのレンダリング動作を複数のステップに分割するステップと、(b)RHI情報を入力パラメータとして使用して、任意の目的関数を最適化するために、割当て計画に従って、レンダリング・ステップを要求クライアント装置ノードまでの経路上の他のノードに割り当てるステップと、(c)現在のノードに割り当てられた単数または複数のレンダリング・ステップを実行するステップとを含むことができる。また、割当て計画を、レンダリングされるオブジェクトに関連付けられたメタ情報として次のノードに渡し、次いでこれが、前記次のノードのCPUのローディングなどの局所的考慮点に従って割当て計画を変更することも、本発明の教示の範囲内である。
【0021】
レンダリングされたオブジェクトおよび/または受信オブジェクトは、レンダリングされたオブジェクトを生成するためのコストなど、キャッシング上の考慮のためにキャッシュ・マネージャに渡すことができる。
【0022】
一般的に、異なる中間ノードは、レンダリングのために異なる選択関数を使用することができ、各中間ノードは、ノードの局所状態(例えばCPUのローディング)によって、異なる選択関数を選択することができる。
【0023】
各ノードはまた、各要求に関連付けられたRHIに情報を含める代わりに、隣接するノードから負荷統計情報を定期的に収集することもできる。
【0024】
【発明の実施の形態】
図1は、本発明の例示的実施形態に係るプロキシ・ネットワークの全体的構造を示すブロック図である。図示する通り、様々なクライアント130、131が、プロキシ・サーバ(またはプロキシ)110、111、112を介して内容サーバ120、121の情報オブジェクトにアクセスするために接続することができる。クライアント、プロキシ、および内容サーバは全て、インターネットなどのネットワーク101を介して接続することができる。プロキシ110、111、112は一般的に、アクセス時間を改善するため、およびキャッシングおよび内容フィルタリングなどのサービスを提供するために使用される。例えば、ISP(インターネット・サービス・プロバイダ)は、様々な場所に配置されたプロキシ・サーバ110、111、112の階層ネットワーク(例えば、局所的、地域的、および全国的プロキシ・サーバ)を含むことができる。別法として、かつ同じく例として、専用または半専用ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)内で機能する1つまたは複数のプロキシ・サーバを設けることができ、この1つ以上のプロキシ・サーバはLANまたはWANのセキュリティを提供する防火壁の後ろに配置することができる。
【0025】
オブジェクト・レンダリングは、内容サーバ120、121から検索されたオブジェクトに基づいて、プロキシ110、111、112によって実行される。ここではレシーバ・ヒント情報(RHI)と呼ぶ特定の装置能力と同様にオブジェクト・データ型(一般的にここではオブジェクト特有の記述子情報と呼ぶ)も、要求および要求オブジェクトに関連付けられるメタ情報に付加されることによって含められる。RHIは、要求クライアント装置130、131による、またはプロキシの1つ(例えば要求装置に結合された第1プロキシ)によるオブジェクト要求に含めることができる。後者の場合、プロキシ110、111、112は、要求と一緒に送信される要求装置の識別子に基づいて、装置能力テーブルにアクセスすることができ、かつこのテーブル内の格納情報に基づいてRHIを構成することができる。一例として、かつISP配列を想定して、局所プロキシ・サーバは、局所プロキシがサービスを提供できる様々なクライアント装置の特性(例えば、ディスプレイの種類、グラフィックス・メモリの大きさなど)が格納されているテーブルにアクセスできる。特定のクライアント装置130、131のテーブル項目は、装置が最初にISPに登録するときに格納することができる。その後、局所プロキシ・サーバは、クライアント装置が要求を出したときに、クライアント装置の識別子を受信し、テーブルにアクセスし、オブジェクト要求に含めるために適切なRHIを構成する。同様の方法で、要求オブジェクトのソースは、返されるオブジェクトにオブジェクト特有の記述子情報を付加することができ、またはこの情報は、要求オブジェクトのソースに局所的なプロキシ・サーバによって付加することができる(以下で詳しく記述するように、プロキシ・サーバがプロキシに格納されたオブジェクトのコピーから要求を満たさない場合)。
【0026】
本発明の現在の好適な実施形態では、RHIはPICS(登録商標)(「インターネット内容選択のためのプラットフォーム(Platform for Internet Content Selection)」)を用いて実現され、本発明のこの態様を以下でさらに詳しく述べる。
【0027】
要求オブジェクトがプロキシ・ネットワーク内を通過するときに、いずれかのプロキシ・サーバ110、111、112が、関連RHIに基づいて、完全または部分レンダリングを実行することができる。例えば、レンダリング・プロセス全体を2つ以上のステップに分割することができる場合、プロキシ・サーバの任意の1つ(例えば110)は、レンダリング・ステップの1つだけを実行し、次いで部分的にレンダリングされたオブジェクトを別のプロキシ・サーバ(例えば111)に転送することを決定するかもしれない。プロキシ・サーバ110はまた、それが実行した処理を反映するようにRHIを変更し、変更したRHIをもプロキシ・サーバ111に転送する。さらに、プロキシ・サーバ110、111、112の任意の1つに関する局所状態、例えばCPUの負荷およびネットワークのトラヒック負荷なども、RHIに含めることができ、かつネットワーク101に沿って受け渡すことができる。本発明のこれらの態様については、以下でさらに詳しく述べる。
【0028】
本発明の例示的実施形態では、クライアント130、131は、例えばパーソナル・コンピュータ(PC)、ワークステーション、スマートホン、パーソナル・デジタル・アシスタント(PDA)などを含むことができる。プロキシ・サーバ110、111、112は例えばIBMから入手できるインターネット・コネクション・サーバ(ICS)を実行するPCサーバ、RISC SYSTEM/6000サーバ、またはS/390サーバを含むことができる(RISC SYSTEM/6000、S/390、およびインターネット・コネクション・サーバは全て、International Business Machines Corporationの商標である)。ネットワーク101は、例えば、インターネット、ワールド・ワイド・ウェブ、イントラネット、およびローカル・エリア・ネットワーク(LAN)とすることができる。内容サーバ120、121は、Lotus Go WebサーバまたはLotus Domino Goサーバを実行するPCサーバ、RS/6000サーバ、またはS/390サーバを含むことができる(Go WebおよびDomino GoはLotus Development Corporationの商標である)。
【0029】
図2は、本発明の例示的実施形態に係る一般プロキシ環境を示すブロック図である。プロキシ・サーバ・ノード201(これは例えば、図1のプロキシ・サーバ110、111、112のいずれか1つとすることができる)は、図1のネットワーク101のようなネットワーク212を介して要求を満たすことができるコンピューティング・ノードを表すために使用される。プロキシ・サーバ・ノード201は、CPU211、RAMなどのメモリ202、およびディスク記憶装置またはより一般的に直接アクセス記憶装置(DASD)などの記憶装置210を含むことが好ましい。プロキシ・サーバ論理203はメモリ202内に格納することができ、CPU211で実行するためにディスク210からメモリ202にロードされる、コンピュータ読み出し可能および実行可能コードとして実現することが望ましい。プロキシ・サーバ論理203については図3に関連してさらに詳しく説明するが、これはオブジェクト・ハンドラ204(図5でさらに詳述する)およびオブジェクト要求ハンドラ205(図4でさらに詳述する)を含む。特定のオブジェクトに関連付けられたRHIに従ってオブジェクト・レンダリングを実行するオブジェクト・レンダラ206はまた、プロキシ・サーバ論理203にも含めることができる。オブジェクト・レンダラは、例えばカラー画像を白黒画像にするコンピュータ・プログラム、または複雑なハイパテキスト・マークアップ言語(HTML)テキストをHTMLヘッダの要約だけを含む単純なHTMLテキストに簡約するコンピュータ・プログラムとすることができる。プロキシ・サーバ論理203はまた、同一プロキシ・サーバによる一部のオブジェクト・レンダリング動作の繰返しを回避するために、部分的にまたは完全にレンダリングされたオブジェクトの局所コピーを維持するキャッシュ・マネージャ207を含むことができる。
【0030】
図3は、本発明の例示的実施形態に係る、入力を受信したときのプロキシ・サーバ・ノード201の一般動作を示す流れ図である。ステップ301で、プロキシ・サーバ・ノード201は入力を待つ。受信する入力によって、異なる処置が講じられる。ステップ302で、受信した入力がオブジェクト要求(例えばPDA型のクライアント130、131からのハイパテキスト転送プロトコル(HTTP))である場合には、ステップ303でオブジェクト要求ハンドラ205が呼び出される。HTTPは一般的に、文書内容および/または記述ヘッダ情報を検索するために使用される。オブジェクト要求ハンドラ205の詳細な実現については、図4で説明する。ステップ304で、受信した入力がオブジェクト(例えば、プロキシ・サーバ・ノード201によって行われた要求に応答して、現在のプロキシ・サーバ・ノード201に返されるオブジェクト)である場合、ステップ305でオブジェクト・ハンドラ206が呼び出される。オブジェクト・ハンドラ206の詳細な実現については、図5で説明する。ファイル転送プロトコル(FTP)要求など、他の種類の要求の場合、ステップ306で雑ハンドラが呼び出される。適切なハンドラを呼び出した後、制御はステップ301に戻り、ネットワーク212からプロキシ・サーバ・ノード201への次の入力を待つ。
【0031】
図4は、本発明の例示的実施形態に係るオブジェクト要求ハンドラ205の動作を示す流れ図である。ステップ401で、オブジェクト要求ハンドラ205はキャッシュ・マネージャ207を検査して、要求オブジェクトがキャッシュ内にあるかどうかを決定する。キャッシュは、あまり詳細でないバージョンの要求オブジェクトを含んでいるかもしれず、あるいはより詳細なバージョンを含んでいるかもしれないことに留意されたい。あまり詳細でないバージョンのオブジェクトは要求事項を満たさず、オブジェクトの要求は、一般的には内容サーバ120、121のうちの適切な1つ、または別のプロキシ・サーバに送出しなければならない。しかし、より詳細なバージョンのオブジェクトは、要求を満たすために、プロキシ・サーバ110、111、112によってさらにレンダリングを行うことができる。ステップ404で、要求オブジェクトがキャッシュ内で見つけることができない場合、プロキシ・サーバ110、111、112は、レンダリング・サービスを提供するためのその能力を示すように関連RHIを変更し、次いで要求および変更されたRHIを、プロキシ・チェーン全体におけるそのプロキシ・サーバの位置によって、別のプロキシ・サーバまたは内容サーバ120、121に送信する。
【0032】
ステップ402で、要求オブジェクトのコピーが局所キャッシュ内で見つけることができた場合、プロキシ・サーバはキャッシュ内のオブジェクトをRHIに照らして検査して、さらなるレンダリングが必要かどうかを調べる。RHIには受信装置(つまりキャッシュ内で今見つかったオブジェクトを最初に要求した装置)の能力仕様が含まれることに留意されたい。RHIを検査することによって、プロキシ・サーバ110、111、112は、それ以上のレンダリングが必要であるかどうかを決定することができる。それ以上のレンダリングが必要でなければ、ステップ403でプロキシ・サーバは、レンダリング・サービスを提供するためのその局所状態を示すようにRHIを変更し、オブジェクトを返す。RHIまたは要求装置に基づいて、それ以上のレンダリングが必要であることが明らかになった場合には、ステップ405で、プロキシ・サーバは選択関数を実行して、それがレンダリングを局所的に実行したいか否かを決定する。プロキシ・サーバがレンダリングを局所的に実行しないと決定した場合、ステップ406で、プロキシ・サーバは、そのようなレンダリング・サービスを提供するためのその局所負荷状態を示すようにRHIを変更し、変更されたRHIと一緒にオブジェクトを返す。そうではなくプロキシ・サーバがレンダリングを局所的に実行すると決定した場合、ステップ407で、それはRHIを検査して、それがレンダリング・プロセス全体を完遂するか、それとも必要なレンダリング・プロセスの一部だけを実行することを希望するかを決定する。プロキシ・サーバがレンダリング・プロセスの一部だけを実行することを希望する場合には、ステップ409で、それは別の選択関数を実行して、レンダリング・プロセスのどの部分を実行するかを決定する。いずれの場合も、ステップ405で局所レンダリングを実行すると決定した後、プロキシ・サーバ110、111、112はステップ408でオブジェクト・レンダラ206を呼び出して、オブジェクト・レンダリングを実行する。レンダリング・プロセス(完全または部分レンダリングのどちらでも)が完了した後、ステップ410でキャッシュ・マネージャ207が呼び出され、局所的にレンダリングされたオブジェクトのコピーをキャッシュするかどうかが決定される。次いでプロキシ・サーバ110、111、112はステップ406で、その局所状態を反映するようにRHIを変更し、レンダリング(完全レンダリングまたは部分レンダリング)が行われたオブジェクトを変更されたRHIと一緒に返す。
【0033】
ステップ404でプロキシ・サーバ110、111、112が、キャッシュにあまり詳細でないバージョンの要求オブジェクトが含まれることをRHIで示し、次いでオブジェクトの要求を別のプロキシ・サーバに送信することができることを、当業者なら理解されよう。より詳細なバージョンの要求オブジェクトを格納しているプロキシ・サーバは、次いで、このより詳細なオブジェクトを要求プロキシ・サーバに送信することを決定するかもしれず、あるいはその代わりに、要求プロキシ・サーバが必要な解像度にオブジェクトをレンダリングするために必要などんな情報でも送信するかもしれない。別法として、より詳細なバージョンの要求オブジェクトを含むプロキシ・サーバ110、111、112は、要求プロキシ・サーバのために必要なレンダリングを実行し、完全にレンダリングされたオブジェクトを要求プロキシ・サーバに返すことを決定するかもしれない。この種の決定は、例えば、要求プロキシ・サーバのローディング対より詳細なバージョンの要求オブジェクトを格納しているプロキシ・サーバのローディングに基づくことができる。
【0034】
さらに、プロキシ・サーバ110、111、112のうちの任意の1つが残りのレンダリング全体を局所的に実行するか否か、あるいはオブジェクト・レンダリングのどの部分を局所的に実行するかを決定するための選択関数に多くの様々な変形例があることを当業者なら理解されよう。
【0035】
例えば、選択基準は、現在のCPUの負荷および/または要求ノードからのネットワーク遅延、ならびに要求ノードの負荷状態を含むことができる。基準はさらに、実行すべきレンダリングの種類、およびレンダリングを行うために必要なソフトウェアの利用可能性を含むことができる。例えば、プロキシ・サーバ110、111、112のうちの任意の1つは負荷は軽度であるが、クライアント130、131のうちの要求クライアントのディスプレイ能力と矛盾しない方法でのオブジェクト・レンダリングに必要な特定の種類のソフトウェアがまだ欠如しているかもしれない。基準はまた、局所記憶場所の利用可能性をも含むことができる。しかし、特定のプロキシ・サーバが要求装置への経路における最後の1つである場合には、それは残りのレンダリングを局所的に実行することができなければならない。
【0036】
また、プロキシ・サーバ110、111、112のうちの任意の1つが部分レンダリングを実行することを決定した場合、それはまず最初に残りのレンダリング動作を複数のステップに分割し、次いでそれ自身で局所的に処理する1つ以上のステップを選択することができることを当業者なら理解されよう。目標は、関連RHIを入力パラメータとして使用して、任意の目的関数を最適化することである。さらに、プロキシ・サーバ110、111、112のうちの任意の1つは、残りのステップを、要求クライアント装置130、131までの経路に沿った残りのプロキシ・サーバに割り当てることもできる。そのような割当て計画を受信したプロキシ・サーバは、それ自身の局所状態に基づいて(例えば、ローディング、記憶場所、割当て計画のその割り当てられた部分を実行するために必要なソフトウェアの利用可能性に基づいて)割当を変更することができる。最適化することが望ましい目的関数は、最大量の帯域幅を削減すること、要求装置までの経路における残りのプロキシ間の最大量の負荷の不均衡を削減すること、またはこの2つの組合せを実行することができる。RHIに基づいて、現在のプロキシ・サーバ110、111、112から要求クライアント装置130、131までの推定応答時間を最小化することもできる。
【0037】
図5は、プロキシ・サーバ論理203のオブジェクト・ハンドラ204を示す流れ図である。ステップ501で、プロキシ・サーバがオブジェクトを受信すると、それは最初に関連RHIを試験して、それ以上のレンダリングが必要かどうかを決定する。必要でなければ、ステップ502で、それはキャッシングを考慮するために、オブジェクトをキャッシュ・マネージャ207に渡す。ステップ503で、受信したオブジェクトは要求クライアント装置130、131に、または受信クライアント装置までの経路上の別のプロキシ・サーバ110、111、112に返される。オブジェクトを返すときに、プロキシ・サーバはその局所状態を示すように関連RHIを変更することができる。
【0038】
プロキシ・サーバが代わりにステップ501で、オブジェクトのさらなるレンダリングが必要であると決定した場合、それはステップ504で、CPUのローディングなど、その局所状態に基づいて、レンダリングを実行するか否かを決定する。ステップ505で、局所レンダリングを実行しないと決定した場合、それはRHIを変更し、次いで要求クライアント装置130、131までの経路上の別のプロキシ・サーバにオブジェクトを返す。一方、ステップ504でプロキシ・サーバがオブジェクトの局所レンダリングを実行すると決定した場合、ステップ506でプロキシ・サーバはさらに、残りのレンダリング・プロセス全体を局所的に実行するかどうかを決定する。しない場合、それは残りのレンダリング・プロセスを複数のステップに分割し、次いで、ステップ508で局所的に実行するステップのサブセットを選択することができる。次に、ステップ507で局所レンダリングを実行するために、オブジェクト・レンダラ206が呼び出される。レンダリング計算の後、ステップ509で、レンダリングされたオブジェクトをキャッシュすべきかどうかを決定するために、キャッシュ・マネージャ207が呼び出される。次にプロキシ・サーバ110、111、112は関連RHIを変更し、オブジェクトを要求クライアント装置130、131、または要求クライアント装置130、131までの経路上の別のプロキシ・サーバのいずれかに返す。
【0039】
異なる中間プロキシ・サーバは、局所的に実行するオブジェクト・レンダリングの量を決定するために、異なる選択関数を選択することが可能である。さらに、プロキシ・ネットワーク内の各ノードは、各要求に関連付けられたRHIにそのような負荷状態を含める代わりに、隣接するプロキシ・サーバ・ノードから定期的に負荷統計を収集することができる。
【0040】
当業者は、キャッシュ・マネージャ207がキャッシュを管理するときに、レンダリングされたオブジェクトを生成するための処理コストを考慮に入れることができることを理解されるであろう。したがって、キャッシュ・マネージャは、他のオブジェクトのための定期的なスタック以外に、局所的にレンダリングされたオブジェクトのために別個のスタックを維持することができる。また、そうすることが有益である場合には、他のプロキシ・サーバによってレンダリングされたオブジェクトをキャッシュすることもできる。
【0041】
本発明の例示的実施形態に関連して本発明をこのように説明したが、次に、本発明の特定の態様、特にレシーバ・ヒント情報(RHI)の現在好適な実施形態のさらに詳しい説明を、本発明の使用例と共に示す。
【0042】
一般に、メタデータ情報は、PICS(登録商標)(「インターネット内容選択のためのプラットフォーム」)の場合と大体同様に、HTTP要求ヘッダおよび応答ヘッダに格納することができる。非常に一般的に、PICS(登録商標)仕様は、ラベル(メタデータ)をインターネット内容に関連付けることを可能にする。PICS(登録商標)は電子内容に関するメタ情報を送信する方法を規定するものであり、ウェブ・コンソーシアム・プロトコル勧告である(http://www.w3.org/PICS参照)。PICS(登録商標)は最初、電子内容の価値に基づく格付けラベルを送信するために使用されたが、コード署名およびプライバシーなど、ラベルのその他の使用法をも促進することができる。しかし、メタ情報のフォーマットおよび意味は完全に一般的である。PICS(登録商標)で、電子内容を記述するメタ情報は、情報の生成者および意図された使用法に従ってグループ化され、そのような1つのグループ内で、任意の数のカテゴリまたは寸法の情報を伝送するすることができる。各カテゴリは許可された値の範囲を持つ。内容の特定の一片に対して、特定のカテゴリは単一の値または複数の値を持つことができる。さらに、「PICS(登録商標)ラベル」として知られるメタ情報グループは、期限情報を含むことができる。電子内容の特定の一片に対する各PICS(登録商標)ラベルは独立して、内容に追加したり、内容から除去することができる。
【0043】
「PICS Label Distribution Label Syntax and Communications Protocols」(REC-PICS-labels-961031, Version1.1, W3C勧告,1996年10月31日)と題する刊行物を参照することができる。これは、http://www.w3.org/PICSで入手可能であり、その全文を参照によりここに組み込む。また、「Filtering Information on the Internet」(Paul Resnick, Scientific American, 1997年3月)と題する論文も参照することができる。
【0044】
本発明の教示によれば、例として、画像ファイルは、画像の解像度を含むために設定されたフィールド(単数または複数)を持つPICSラベルを付けて、サーバから送信することができる。そのような解像度ラベルは、1対のカラー符号化および画像サイズr(c 16 s 1000)によって指定することができる。ここで「c」および「s」は様々なメタ情報型の伝送名であり、この画像内容に対する適用可能な値は16(cについて)および1000(sについて)であり、16ビット・カラー符号化および1000Mバイトの画像サイズを示している。分散オブジェクト・レンダリングに参加するプロキシ・サーバ110、111、112は、これらのカテゴリおよび値をどのように解釈すべきかを知っている。他の装置能力およびプロキシ・サーバの負荷状態も同様にPICS(登録商標)ラベルとして符号化し、HTTP要求ヘッダおよび/または応答ヘッダと一緒に伝送することができる。
【0045】
例えば、PDAなどのパーソナル・デジタル装置(PDD)の装置能力は、1対のカラー符号化および画像サイズd(c 1 s 2)として指定することができ、PDDが最高2Mバイト(2メガバイト)までの画像サイズを1ビット・カラー符号化(c)を表示(d)することしかできないことを示す。この装置能力PICSラベルは、PDDによって、または上述のようにPDDに結合されたプロキシ・サーバによって、様々なプロキシ・サーバ110、111、112の間で送信されるHTTP要求ヘッダに挿入することができる。このPICSラベルを、本発明の文脈では、レシーバ・ヒント情報(RHI)と呼ぶ。
【0046】
上記RHI d(c 1 s 2)を有するPDDからの要求に応答して、上記PICSラベル r(c 16 s 1000)を有する画像オブジェクトを受信するプロキシ・サーバ110、111、112は、PDDが画像オブジェクトを受信したままでは表示することができないこと、および画像オブジェクトをPDDが表示できる形式にレンダリングする必要があることを知らされることを理解されたい。プロキシ・サーバはレンダリング・プロセス全体を実行することができ、次いで画像オブジェクトのPICSラベルをr(c 1 s 2)に、つまり要求PDDのディスプレイ能力と互換可能なフォーマットを示すように、変更する。しかし、何らかの理由でプロキシ・サーバが画像オブジェクトを完全にはレンダリングしないか、または例えばローディング上の問題点のため、あるいは適切なソフトウェアの欠如のため、画像オブジェクトのレンダリングを全く行わないことを選択した場合には、画像オブジェクトのPICSラベルは、PDDのディスプレイ能力と互換可能な状態を反映しない。例えば、プロキシ・サーバ110、111、112のうちの任意の1つが受信した画像オブジェクトのカラー符号化を16レベルから1に変更することだけを選択すると仮定すると、次のプロキシ・サーバが受信する変更されたPICSラベルはr(c 1 s 1000)となり、これは依然としてPDDのRHIのd(c 1 s 2)と互換性の無い形式である。次いで、次のプロキシ・サーバ110、111、112は、受信した画像オブジェクトをレンダリングして、画像サイズを1000メガバイトから2メガバイトに縮小することを選択することができ、その結果変更されたPICSラベルのr(c 1 s 2)が得られ、これはPDDのRHIのd(c 1 s 2)と互換可能な形式である。
【0047】
分散オブジェクト・レンダリングのさらなる例として、パーソナル・デジタル装置PDDが画像ファイルを要求しており、そのような画像ファイルはネットワーク101内のプロキシ・サーバ110、111、112のどれにも現在存在していないと仮定する。この要求は最初に、ローカルISP(インターネット・サービス・プロバイダ)などの局所プロキシ・サーバAに送信され、次いで地域プロキシ・サーバBに転送され、次いで国内プロキシ・サーバCに転送される。国内プロキシ・サーバCは次に、適切な内容サーバ120または121に要求を行う。
【0048】
本発明の教示の一態様によれば、局所プロキシ・サーバAは、装置のIDを認識することによって、画像ファイルのHTTP要求が特定の装置PDDから来ていることを認識する。局所プロキシ・サーバAは次に、装置PDDの装置能力およびそれに対応する、例えばこの装置が最高3Mバイトまでの画像サイズを1ビット・カラー符号化でしか表示できないことを示すd(c 1 s 3)などの装置能力PICSラベルを捜すために、局所メモリまたは別のメモリに格納されたテーブルまたはディレクトリを探索する。次いでそのようなPICSラベルはHTTP要求ヘッダ内に(そのPDDのRHIとして)入れられ、その後、地域および国内プロキシ・サーバBおよびCに送信される。国内プロキシ・サーバCからの要求に応答して、内容サーバ120または121は解像度PICSラベルr(c 16 s 100)を作成し、それを応答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(c 1 s 3)によって示される装置仕様を満たすようにレンダリングを完遂し、レンダリングされた画像ファイルを要求PDDクライアント装置130または131に送信する。
【0049】
多数の可能なネットワーク・トポロジおよびアーキテクチャが、本発明の教示から利益を得、かつ動作することができること、したがって本発明の教示が上述した特定の例示的実施形態のみに限定して解釈するように意図されていないことを当業者は理解されたい。
【0050】
さらに、本発明の教示は、RHIの実現のためにPICS(登録商標)フォーマット・ラベルまたはデータ構造を使用することに限定されない。
【0051】
さらに、画像オブジェクト以外のオブジェクトを、1つ以上の中間コンピューティング・ノードによって要求し、返却し、かつ処理することができる。一例として、音声オブジェクトを、上述の画像オブジェクトと同一または同様の方法で処理することができ、その場合、RHIは要求側の音声再生能力を示すことができる。本発明の教示はまた、制限されたディスプレイ能力を持つPDDなどの装置によって要求されたときに文書を簡約するために、テキストの多くの見出しおよび段落を含む複雑なHTML文書にも適用することができる。
【0052】
本発明の教示が、協調サーバのネットワーク内に、オブジェクトを使用する装置の能力に従って、画像レンダリングなどのオブジェクト処理を実行することができる個々のサーバを提供するために、コンピュータ読み取り可能な媒体(ディスク210など)上で実施されるコンピュータ・プログラムを含んでいることも理解されたい。このコンピュータ・プログラムは、オブジェクトの要求に含まれる要求側特有の能力情報および受信オブジェクトに含まれるオブジェクト特有の情報に応答して、オブジェクトを要求側の能力に適合させるためにオブジェクトを部分的または全体的に処理するためのコード・セグメントを含む。
【0053】
本発明はまた、相互接続された協調コンピューティング・ノードの階層ネットワーク内の個々のコンピューティング・ノード・マシンが、オブジェクトを使用する装置の能力に従って、レンダリングなどのオブジェクト処理を実行できるようにする方法ステップを実行するために、マシンによって実行可能な命令のプログラムを有形に実施する、マシンによって読み取り可能なプログラム記憶装置をも含む。この方法は、オブジェクトの要求に含まれる要求側特有の能力情報に応答し、さらにオブジェクトのソースまたは別のコンピューティング・ノード・マシンから受信するオブジェクトに含まれるオブジェクト特有の情報にも応答して、オブジェクトを使用する要求側の能力に適合させるようにオブジェクトを部分的または全体的に処理する。
【0054】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0055】
(1)少なくとも1つのコンピューティング・ノードがオブジェクトの要求側であって要求を生成し、少なくとも1つのコンピューティング・ノードが要求されるオブジェクトのソースであり、少なくとも1つのコンピューティング・ノードが、要求をソースへ転送するため、またソースから要求側に要求オブジェクトを転送するために、要求側とソースとの間に挿入された中間コンピューティング・ノードである、データ・ネットワークに結合された複数のコンピューティング・ノードを提供するステップと、
あるオブジェクトに対する生成された要求に要求側特有の能力情報を含めるステップと、
要求されるオブジェクトにオブジェクト特有の記述子情報を含めるステップと、
前記少なくとも1つの中間コンピューティング・ノードで、前記要求つまり特有の能力情報およびオブジェクト特有の記述子情報を審査し、要求オブジェクトを要求側特有の能力情報に完全にまたは部分的に適合させるためにオブジェクトを完全にまたは部分的に処理する決定を下すステップと
を含む、データ・ネットワークを操作するための方法。
(2)オブジェクトを処理する際に、少なくとも1つの中間コンピューティング・ノードで実行された処理を反映するように、前記オブジェクト特有の記述子情報を全部または部分的に変更するステップを含む、上記(1)に記載の方法。
(3)オブジェクトが画像オブジェクトであり、前記要求側特有の能力情報がオブジェクトを表示する要求側の能力を示す、上記(1)に記載の方法。
(4)前記データ・ネットワークがインターネットで構成される、上記(1)に記載の方法。
(5)前記決定を下すステップが、オブジェクトを処理しないことを決定することもでき、前記決定を下すステップが中間コンピューティング・ノードの少なくとも1つの局所状態を考慮する、上記(1)に記載の方法。
(6)中間コンピューティング・ノードが要求オブジェクトのコピーを格納し、前記中間コンピューティング・ノードがソースコンピューティング・ノードとして機能する、上記(1)に記載の方法。
(7)中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細でないバージョンの要求オブジェクトを格納し、前記方法が、前記要求を少なくとも1つの他のコンピューティング・ノードに転送するステップと、より詳細なバージョンの要求オブジェクトを有する別のコンピューティング・ノードで、局所レンダリングを行わずに前記より詳細なバージョンの要求オブジェクトを返すか、それともその代わりに局所レンダリングを実行し、部分的にレンダリングされたオブジェクトを返すか、またはその代わりに局所レンダリングを実行し、完全にレンダリングされたオブジェクトを返すかの決定を下すステップとをさらに含む、上記(3)に記載の方法。
(8)中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細なバージョンの要求オブジェクトを格納し、前記方法が、局所レンダリングを行わずに前記より詳細なバージョンの要求オブジェクトを返すか、それともその代わりに局所レンダリングを実行し、部分的にレンダリングされたオブジェクトを返すか、またはその代わりに局所レンダリングを実行し、完全にレンダリングされたオブジェクトを返すかの決定を下すステップをさらに含む、上記(3)に記載の方法。
(9)中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細なバージョンの要求オブジェクトを受信または格納し、前記方法が、オブジェクトを中間コンピューティング・ノードから転送するのに必要なデータ・ネットワーク帯域幅の量を縮小するために、オブジェクトをレンダリングするステップをさらに含む、上記(3)に記載の方法。
(10)中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細なバージョンの要求オブジェクトを受信または格納し、前記方法が、この中間コンピューティング・ノードと要求側との間に配置された別の中間コンピューティング・ノードの負荷の不均衡の量を削減するために、オブジェクトをレンダリングするステップをさらに含む、上記(3)に記載の方法。
(11)前記決定を下すステップが少なくとも部分的に、前記中間コンピューティング・ノードのレンダリング能力を考慮することによって行われる、上記(1)に記載の方法。
(12)前記決定を下すステップが少なくとも部分的に、前記中間コンピューティング・ノードの現在の処理負荷を考慮することによって行われる、上記(1)に記載の方法。
(13)前記決定を下すステップが少なくとも部分的に、要求側までのネットワーク遅延の量を考慮することによって行われる、上記(1)に記載の方法。
(14)中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細なバージョンの要求オブジェクトを受信または格納し、前記決定を下すステップが、画像オブジェクト処理の量を複数のステップに分割するステップと、前記ステップの少なくとも1つを前記中間コンピューティング・ノードと要求側との間に配置された少なくとも1つの他の中間コンピューティング・ノードに割り当てるステップとをさらに含む、上記(3)に記載の方法。
(15)前記割当ステップが、データ・ネットワークを介して前記少なくとも1つの他の中間コンピューティング・ノードに渡される割当て計画を生成する、上記(14)に記載の方法。
(16)前記少なくとも1つの他の中間コンピューティング・ノードで、局所状態に従って、前記割当て計画を変更するステップをさらに含む、上記(15)に記載の方法。
(17)オブジェクトが画像オブジェクトであり、前記オブジェクト特有の記述子情報が少なくとも、画像オブジェクトの色がどのように表現されるか、および画像オブジェクトのサイズをも指定する、上記(1)に記載の方法。
(18)オブジェクトが画像オブジェクトであり、前記要求側コンピューティング・ノードが画像オブジェクトを表示するためのディスプレイで構成され、前記要求側特有の能力情報が少なくとも、色を表示する要求側の能力、および表示できる画像オブジェクトの最大のサイズを指定する、上記(1)に記載の方法。
(19)少なくとも要求側特有の能力情報がメタ情報として表現される、上記(1)に記載の方法。
(20)少なくとも要求側特有の能力情報が、インターネット内容選択のためのプラットフォーム・フォーマットを用いて表現される、上記(1)に記載の方法。
(21)オブジェクトに対する生成された要求に要求側特有の能力情報を含める前記段階が要求側によって実行される、上記(1)に記載の方法。
(22)オブジェクトに対する生成された要求に要求側特有の能力情報を含める前記段階が中間コンピューティング・ノードによって実行される、上記(1)に記載の方法。
(23)要求オブジェクトにオブジェクト特有の記述子情報を含める前記段階が要求オブジェクトのソースによって実行される、上記(1)に記載の方法。
(24)要求オブジェクトにオブジェクト特有の記述子情報を含める前記段階が中間コンピューティング・ノードによって実行される、上記(1)に記載の方法。
(25)コンピューティング・ノードが結合されたデータ・ネットワークであって、少なくとも1つのコンピューティング・ノードは画像オブジェクトの要求側であって要求を生成し、前記要求側が、要求された画像オブジェクトを表示するためのディスプレイを含み、少なくとも1つのコンピューティング・ノードは要求された画像オブジェクトのソースであり、少なくとも1つのコンピューティング・ノードは、要求をソースに転送するため、および要求画像オブジェクトをソースから要求側に転送するために要求側とソースとの間に挿入された中間コンピューティング・ノードであり、前記要求側または前記中間コンピューティング・ノードの1つが、画像オブジェクトに対する生成された要求に要求側特有の画像表示能力情報を追加し、前記ソースまたは前記中間コンピューティング・ノードの1つが、返される要求画像オブジェクトに画像オブジェクト特有の記述子情報を追加し、前記画像オブジェクト特有の記述子情報は、関連付けられた画像オブジェクトに加えられた変化を反映するように変更可能であり、前記少なくとも1つの中間コンピューティング・ノードは、前記要求側特有の画像表示能力情報および前記オブジェクト特有の記述子情報の検査、ならびに少なくとも1つの局所状態に応答して、要求された画像オブジェクトの画像オブジェクト特有の記述子情報を要求側特有の画像表示能力情報に完全にまたは部分的に適合させるように、関連付けられた返却画像オブジェクトを完全にまたは部分的にレンダリングするか、それとも関連付けられた画像オブジェクトを全くレンダリングしないかの決定を下す、データ・ネットワーク。
(26)前記少なくとも1つの中間コンピューティング・ノードが、画像オブジェクトのレンダリングの後、前記少なくとも1つの中間コンピューティング・ノードによって実行されたレンダリング動作の結果を示すように、関連付けられた画像オブジェクト特有の記述子情報を変更する、上記(25)に記載のネットワーク。
(27)データ・ネットワークがインターネットで構成される、上記(25)に記載のネットワーク。
(28)前記少なくとも1つの中間コンピューティング・ノードが前記画像オブジェクトのコピーを格納するためのメモリを含み、前記中間コンピューティング・ノードが、格納されたコピーを要求側に返すことによって、前記ソースコンピューティング・ノードとして機能することができる、上記(25)に記載のネットワーク。
(29)前記少なくとも1つの中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の画像表示能力情報より詳細でないバージョンの要求画像オブジェクトを格納し、前記少なくとも1つの中間コンピューティング・ノードが、より詳細なバージョンの要求画像オブジェクトを格納している別の中間コンピューティング・ノードに要求を転送し、前記別の中間コンピューティング・ノードが、前記要求側特有の画像表示能力情報および前記オブジェクト特有の記述子情報の検査、ならびに少なくとも1つの局所状態に応答して、格納された画像オブジェクトの画像オブジェクト特有の記述子情報を要求側特有の画像表示能力情報に完全にまたは部分的に適合させるように、格納された画像オブジェクトを完全にまたは部分的にレンダリングするか、それとも格納された画像オブジェクトを全くレンダリングしないかの決定を下す、上記(28)に記載のネットワーク。
(30)前記少なくとも1つの中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の画像表示能力情報よりより詳細なバージョンの要求画像オブジェクトを格納し、前記少なくとも1つの中間コンピューティング・ノードが、前記要求側特有の画像表示能力情報および前記オブジェクト特有の記述子情報の検査、ならびに少なくとも1つの局所状態に応答して、格納された画像オブジェクトの画像オブジェクト特有の記述子情報を要求側特有の画像表示能力情報に完全にまたは部分的に適合させるように、格納された画像オブジェクトを完全にまたは部分的にレンダリングするか、それとも格納された画像オブジェクトを全くレンダリングしないかの決定を下す、上記(28)に記載のネットワーク。
(31)前記少なくとも1つの中間コンピューティング・ノードが、前記要求側に返される要求画像オブジェクトをレンダリングする際に、画像オブジェクトを伝送するために必要なデータ・ネットワーク帯域幅の量を削減するように、画像オブジェクトをレンダリングする、上記(25)に記載のネットワーク。
(32)前記少なくとも1つの中間コンピューティング・ノードが、前記要求側に返される要求画像オブジェクトをレンダリングする際に、前記少なくとも1つの中間コンピューティング・ノードと前記要求側との間に配置された別の中間コンピューティング・ノードの負荷の不均衡の量を削減するように画像オブジェクトをレンダリングする、上記(25)に記載のネットワーク。
(33)前記少なくとも1つの局所状態が、前記中間コンピューティング・ノードのレンダリング能力の少なくとも1つ、前記中間コンピューティング・ノードの現在の処理負荷、および要求側までのネットワーク遅延の量を含む、上記(25)に記載のネットワーク。
(34)前記少なくとも1つの中間コンピューティング・ノードがさらに、画像オブジェクト・レンダリングの量を複数のステップに分割し、前記ステップの少なくとも1つを前記少なくとも1つの中間コンピューティング・ノードと前記要求側との間に配置された少なくとも1つの他の中間コンピューティング・ノードに割り当てる、上記(25)に記載のネットワーク。
(35)前記少なくとも1つの中間コンピューティング・ノードが、前記データ・ネットワークを介して前記少なくとも1つの他の中間コンピューティング・ノードに渡されるレンダリング・ステップ割当て計画を導出し、前記少なくとも1つの他の中間コンピューティング・ノードが、少なくとも1つの局所状態に応答して前記割当て計画を変更することができる、上記(34)に記載のネットワーク。
(36)前記画像オブジェクト特有の記述子情報が少なくとも、前記画像オブジェクトの色がどのように表現されるか、および画像オブジェクトのサイズをも指定し、前記要求側特有の画像表示能力情報が少なくとも、色を表示する要求側の能力、および表示できる画像オブジェクトの最大サイズを指定する、上記(25)に記載のネットワーク。
(37)少なくとも前記要求側特有の画像表示能力情報がメタ情報として表現される、上記(25)に記載のネットワーク。
(38)少なくとも前記要求側特有の画像表示能力情報がインターネット内容選択フォーマットのためのプラットフォームを使用して表現される、上記(25)に記載のネットワーク。
(39)協調サーバのネットワーク内の個々のサーバに、オブジェクトを使用する装置の能力に従ってオブジェクト処理を選択的に実行する能力を提供するための、コンピュータ読み取り可能な媒体上で実施されるコンピュータ・プログラムであって、オブジェクトの要求に含まれる要求側特有の能力情報、ならびに要求側に返される受信オブジェクトに含まれるオブジェクト特有の記述子情報に応答して、オブジェクトを処理しないか、またはオブジェクトを使用する要求側の能力にオブジェクトを適応させるためにオブジェクトを部分的または全体的に処理するかのどちらかを選択的に実行するためのコード・セグメントを含むコンピュータ・プログラム。
(40)相互接続された協調コンピューティング・ノードの階層ネットワーク内の個々のコンピューティング・ノード・マシンが、オブジェクトを使用する装置の能力に従ってオブジェクト処理を実行できるようにする方法ステップを実行するための、マシンによって実行可能な命令のプログラムを有形的に実施する、マシンによって読み取り可能なプログラム記憶装置であって、前記方法が、オブジェクトの要求に含まれる要求側特有の能力情報に応答し、さらにオブジェクトのソースまたは別のコンピューティング・ノード・マシンから受信するオブジェクトに含まれるオブジェクト特有の記述子情報にも応答して、オブジェクトを処理しないか、またはオブジェクトを使用する要求側の能力にオブジェクトを適合させるためにオブジェクトを部分的または全体的に処理するかのどちらかを選択的に実行する、プログラム記憶装置。
【図面の簡単な説明】
【図1】本発明の例示的実施形態に係るインターネット環境のブロック図である。
【図2】本発明の例示的実施形態に係るプロキシ環境を示すブロック図である。
【図3】本発明の例示的実施形態に係るプロキシ・サーバの構成を示す流れ図である。
【図4】本発明の例示的実施形態に係るオブジェクト要求を受信したときのプロキシ・サーバの動作を示す流れ図である。
【図5】本発明の例示的実施形態に係るオブジェクトを受信したときのプロキシ・サーバの動作を示す流れ図である。
【符号の説明】
101 ネットワーク
110 プロキシ・サーバ
111 プロキシ・サーバ
112 プロキシ・サーバ
120 内容サーバ
121 内容サーバ
130 クライアント
131 クライアント

Claims (25)

  1. 画像オブジェクトを取得するための要求を生成する要求側のコンピューティング・ノード、該要求された画像オブジェクトを提供するソース側のコンピューティング・ノード、及び、要求をソース側のコンピューティング・ノードに転送するため及び要求された画像オブジェクトを要求側のコンピューティング・ノードに転送するために要求側のコンピューティング・ノードとソース側のコンピューティング・ノードとの間に挿入された複数の中間コンピューティング・ノードの各ノード間をデータネットワークを介して接続したシステムにおける方法であって、
    ある画像オブジェクトに対する生成された要求に要求側特有の能力情報を含めるステップと、
    要求される画像オブジェクトに画像オブジェクト特有の記述子情報を含めるステップと、
    なくとも1つの中間コンピューティング・ノードで、前記要求側特有の能力情報および画像オブジェクト特有の記述子情報を審査し、要求画像オブジェクトを要求側特有の能力情報に完全にまたは部分的に適合させるために画像オブジェクトを完全にまたは部分的に処理する決定を下すステップと、
    画像オブジェクト処理の量を複数のステップに分割するステップと、
    ータ・ネットワークを介して前記少なくとも1つの中間コンピューティング・ノード以外の少なくとも1つの他の中間コンピューティング・ノードに渡される割当て計画を生成するステップと、
    画像オブジェクトを処理する際に、前記少なくとも1つの中間コンピューティング・ノードで実行された処理を反映するように、前記画像オブジェクト特有の記述子情報を全部または部分的に変更するステップと、
    前記少なくとも1つの他の中間コンピューティング・ノードで、ネットワーク帯域幅の縮小のため、もしくはコンピューティング・ノードの負荷の不均衡の量の削減のため、またはこの2つの組合せのため前記割当て計画を変更するステップと、
    を含む、方法。
  2. 前記データ・ネットワークがインターネットで構成される、請求項1に記載の方法。
  3. 前記決定を下すステップが、画像オブジェクトを処理しないことを決定することもでき、前記決定を下すステップが中間コンピューティング・ノードの少なくとも1つの局所状態を考慮する、請求項1に記載の方法。
  4. 中間コンピューティング・ノードが要求画像オブジェクトのコピーを格納し、前記中間コンピューティング・ノードがソースコンピューティング・ノードとして機能する、請求項1に記載の方法。
  5. 中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細でないバージョンの要求画像オブジェクトを格納し、前記方法が、前記要求を少なくとも1つの他のコンピューティング・ノードに転送するステップと、より詳細なバージョンの要求オブジェクトを有する別のコンピューティング・ノードで、局所レンダリングを行わずに前記より詳細なバージョンの要求画像オブジェクトを返すか、それともその代わりに局所レンダリングを実行し、部分的にレンダリングされた画像オブジェクトを返すか、またはその代わりに局所レンダリングを実行し、完全にレンダリングされた画像オブジェクトを返すかの決定を下すステップとをさらに含む、請求項1に記載の方法。
  6. 中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の能力情報よりも詳細なバージョンの要求画像オブジェクトを格納し、前記方法が、局所レンダリングを行わずに前記より詳細なバージョンの要求画像オブジェクトを返すか、それともその代わりに局所レンダリングを実行し、部分的にレンダリングされた画像オブジェクトを返すか、またはその代わりに局所レンダリングを実行し、完全にレンダリングされた画像オブジェクトを返すかの決定を下すステップをさらに含む、請求項1に記載の方法。
  7. 前記決定を下すステップが少なくとも部分的に、前記中間コンピューティング・ノードのレンダリング能力を考慮することによって行われる、請求項1に記載の方法。
  8. 前記決定を下すステップが少なくとも部分的に、前記中間コンピューティング・ノードの現在の処理負荷を考慮することによって行われる、請求項1に記載の方法。
  9. 前記決定を下すステップが少なくとも部分的に、要求側までのネットワーク遅延の量を考慮することによって行われる、請求項1に記載の方法。
  10. 前記画像オブジェクト特有の記述子情報が少なくとも、画像オブジェクトの色がどのように表現されるか、および画像オブジェクトのサイズをも指定する、請求項1に記載の方法。
  11. 前記要求側コンピューティング・ノードが画像オブジェクトを表示するためのディスプレイで構成され、前記要求側特有の能力情報が少なくとも、色を表示する要求側の能力、および表示できる画像オブジェクトの最大のサイズを指定する、請求項1に記載の方法。
  12. 少なくとも要求側特有の能力情報がメタ情報として表現される、請求項1に記載の方法。
  13. 少なくとも要求側特有の能力情報が、インターネット内容選択のためのプラットフォーム・フォーマットを用いて表現される、請求項1に記載の方法。
  14. 画像オブジェクトに対する生成された要求に要求側特有の能力情報を含める前記段階が要求側によって実行される、請求項1に記載の方法。
  15. 画像オブジェクトに対する生成された要求に要求側特有の能力情報を含める前記段階が中間コンピューティング・ノードによって実行される、請求項1に記載の方法。
  16. 要求画像オブジェクトに画像オブジェクト特有の記述子情報を含める前記段階が要求画像オブジェクトのソースによって実行される、請求項1に記載の方法。
  17. 要求画像オブジェクトに画像オブジェクト特有の記述子情報を含める前記段階が中間コンピューティング・ノードによって実行される、請求項1に記載の方法。
  18. 画像オブジェクトを取得するための要求を生成する要求側のコンピューティング・ノード、該要求された画像オブジェクトを提供するソース側のコンピューティング・ノード、及び、要求をソース側のコンピューティング・ノードに転送するため及び要求された画像オブジェクトを要求側のコンピューティング・ノードに転送するために要求側のコンピューティング・ノードとソース側のコンピューティング・ノードとの間に挿入された複数の中間コンピューティング・ノードの各ノード間をデータネットワークを介して接続したシステムであって、前記要求側が、要求された画像オブジェクトを表示するためのディスプレイを含み、前記要求側または前記中間コンピューティング・ノードの1つが、画像オブジェクトに対する生成された要求に要求側特有の画像表示能力情報を追加し、前記ソースまたは前記中間コンピューティング・ノードの1つが、返される要求画像オブジェクトに画像オブジェクト特有の記述子情報を追加し、前記画像オブジェクト特有の記述子情報は、関連付けられた画像オブジェクトに加えられた変化を反映するように変更可能であり、なくとも1つの中間コンピューティング・ノードは、前記要求側特有の画像表示能力情報および前記オブジェクト特有の記述子情報の検査、ならびに少なくとも1つの局所状態に応答して、要求された画像オブジェクトの画像オブジェクト特有の記述子情報を要求側特有の画像表示能力情報に完全にまたは部分的に適合させるように、関連付けられた返却画像オブジェクトを完全にまたは部分的にレンダリングするか、それとも関連付けられた画像オブジェクトを全くレンダリングしないかの決定を下し、前記少なくとも1つの中間コンピューティング・ノードがさらに、画像オブジェクト・レンダリングの量を複数のステップに分割し、前記少なくとも1つの中間コンピューティング・ノードが、前記データ・ネットワークを介して少なくとも1つの他の中間コンピューティング・ノードに渡されるレンダリング・ステップ割当て計画を導出し、前記少なくとも1つの他の中間コンピューティング・ノードで、ネットワーク帯域幅の縮小のため、もしくはコンピューティング・ノードの負荷の不均衡の量の削減のため、またはこの2つの組合せのため前記割当て計画を変更し、前記少なくとも1つの中間コンピューティング・ノードが、画像オブジェクトのレンダリングの後、前記少なくとも1つの中間コンピューティング・ノードによって実行されたレンダリング動作の結果を示すように、関連付けられた画像オブジェクト特有の記述子情報を変更する、システム
  19. データ・ネットワークがインターネットで構成される、請求項18に記載のシステム
  20. 前記少なくとも1つの中間コンピューティング・ノードが前記画像オブジェクトのコピーを格納するためのメモリを含み、前記中間コンピューティング・ノードが、格納されたコピーを要求側に返すことによって、前記ソースコンピューティング・ノードとして機能することができる、請求項18に記載のシステム
  21. 前記少なくとも1つの中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の画像表示能力情報より詳細でないバージョンの要求画像オブジェクトを格納し、前記少なくとも1つの中間コンピューティング・ノードが、より詳細なバージョンの要求画像オブジェクトを格納している別の中間コンピューティング・ノードに要求を転送し、前記別の中間コンピューティング・ノードが、前記要求側特有の画像表示能力情報および前記オブジェクト特有の記述子情報の検査、ならびに少なくとも1つの局所状態に応答して、格納された画像オブジェクトの画像オブジェクト特有の記述子情報を要求側特有の画像表示能力情報に完全にまたは部分的に適合させるように、格納された画像オブジェクトを完全にまたは部分的にレンダリングするか、それとも格納された画像オブジェクトを全くレンダリングしないかの決定を下す、請求項20に記載のシステム
  22. 前記少なくとも1つの中間コンピューティング・ノードが、要求側が表示できることを示す要求側特有の画像表示能力情報よりより詳細なバージョンの要求画像オブジェクトを格納し、前記少なくとも1つの中間コンピューティング・ノードが、前記要求側特有の画像表示能力情報および前記オブジェクト特有の記述子情報の検査、ならびに少なくとも1つの局所状態に応答して、格納された画像オブジェクトの画像オブジェクト特有の記述子情報を要求側特有の画像表示能力情報に完全にまたは部分的に適合させるように、格納された画像オブジェクトを完全にまたは部分的にレンダリングするか、それとも格納された画像オブジェクトを全くレンダリングしないかの決定を下す、請求項20に記載のシステム
  23. 前記少なくとも1つの局所状態が、前記中間コンピューティング・ノードのレンダリング能力の少なくとも1つ、前記中間コンピューティング・ノードの現在の処理負荷、および要求側までのネットワーク遅延の量を含む、請求項18に記載のシステム
  24. 前記画像オブジェクト特有の記述子情報が少なくとも、前記画像オブジェクトの色がどのように表現されるか、および画像オブジェクトのサイズをも指定し、前記要求側特有の画像表示能力情報が少なくとも、色を表示する要求側の能力、および表示できる画像オブジェクトの最大サイズを指定する、請求項18に記載のシステム
  25. 少なくとも前記要求側特有の画像表示能力情報がメタ情報として表現される、請求項18に記載のシステム
JP2000070616A 1999-03-29 2000-03-14 オブジェクト・レンダリングの分散配置のための協調プロキシ・システムの方法および装置 Expired - Fee Related JP3974307B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
JP2000322395A JP2000322395A (ja) 2000-11-24
JP3974307B2 true JP3974307B2 (ja) 2007-09-12

Family

ID=23074449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000070616A Expired - Fee Related JP3974307B2 (ja) 1999-03-29 2000-03-14 オブジェクト・レンダリングの分散配置のための協調プロキシ・システムの方法および装置

Country Status (10)

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

Families Citing this family (111)

* 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
US20020002611A1 (en) * 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
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
US7092983B1 (en) * 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
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
US8416266B2 (en) 2001-05-03 2013-04-09 Noregin Assetts N.V., L.L.C. Interacting with detail-in-context presentations
CA2345803A1 (en) 2001-05-03 2002-11-03 Idelix Software Inc. User interface elements for pliable display technology implementations
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 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US7233790B2 (en) * 2002-06-28 2007-06-19 Openwave Systems, Inc. Device capability based discovery, packaging and provisioning of content for wireless mobile devices
US7809813B2 (en) * 2002-06-28 2010-10-05 Microsoft Corporation System and method for providing content-oriented services to content providers and content consumers
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
US20040024867A1 (en) * 2002-06-28 2004-02-05 Openwave Systems Inc. Method and apparatus for determination of device capabilities on a network
US20070064018A1 (en) * 2005-06-24 2007-03-22 Idelix Software Inc. Detail-in-context lenses for online maps
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
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
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
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
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
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
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
US7602390B2 (en) * 2004-03-31 2009-10-13 Adobe Systems Incorporated Edge detection based stroke adjustment
US7333110B2 (en) * 2004-03-31 2008-02-19 Adobe Systems Incorporated Adjusted stroke rendering
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7580039B2 (en) 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7639258B1 (en) 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
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
CA2512945A1 (en) * 2004-07-23 2006-01-23 Genesis Group Inc. 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
US7610551B2 (en) * 2006-02-24 2009-10-27 Verisign, Inc. System and method for managing distribution of multi-formatted content
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
CN102405631B (zh) * 2009-02-20 2015-02-18 思杰系统有限公司 用于中间设备压缩通过远程显示协议传递的数据的系统和方法
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
WO2013126430A1 (en) * 2012-02-20 2013-08-29 Virtustream Canada Holdings, Inc. Systems and methods involving virtual machine host isolation over a network
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 苏州本乔信息技术有限公司 一种渲染任务的处理方法及设备
US11562288B2 (en) 2018-09-28 2023-01-24 Amazon Technologies, Inc. Pre-warming scheme to load machine learning models
US11436524B2 (en) * 2018-09-28 2022-09-06 Amazon Technologies, Inc. Hosting 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
CN118212333A (zh) * 2022-12-08 2024-06-18 华为技术有限公司 渲染方法、装置及系统

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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3974307B2 (ja) オブジェクト・レンダリングの分散配置のための協調プロキシ・システムの方法および装置
JP3994057B2 (ja) エッジ・サーバ・コンピュータを選択する方法およびコンピュータ・システム
US6892218B2 (en) Extending network services using mobile agents
EP1385310B2 (en) System and method for providing content-oriented services to content providers and content consumers
US7475145B2 (en) Dynamic invocation of web services
US20040003117A1 (en) Method and apparatus for dynamic optimization and network delivery of multimedia content
US10171566B2 (en) Server-processor hybrid system for processing data
US20020099829A1 (en) Filter proxy system and method
US20030195964A1 (en) Managing multicast sessions
US6904463B1 (en) System for improving delivery of content by reordering after grouping components homogeneously within content stream based upon categories defined by content preferences
JP2008071359A (ja) 外部ポート配分に基づくサーバ負荷分散のための方法および装置
Heinzl et al. Flex-swa: Flexible exchange of binary data based on soap messages with attachments
US6934761B1 (en) User level web server cache control of in-kernel http cache
JP2002334012A (ja) サービス要求処理方法及びその実施システム並びにその処理プログラムと記録媒体
US20100131673A1 (en) System and method for distributing foveated data in a network
US7620734B2 (en) System and method for distributing foveated data in a network
JPH113266A (ja) データ転送システムおよびデータ転送方法
Sudhindra NaproxI: A hash-based collaborative edge-proxy system

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040412

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040521

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070614

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100622

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110622

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120622

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees