KR100322716B1 - 협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치 - Google Patents

협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치 Download PDF

Info

Publication number
KR100322716B1
KR100322716B1 KR1020000012689A KR20000012689A KR100322716B1 KR 100322716 B1 KR100322716 B1 KR 100322716B1 KR 1020000012689 A KR1020000012689 A KR 1020000012689A KR 20000012689 A KR20000012689 A KR 20000012689A KR 100322716 B1 KR100322716 B1 KR 100322716B1
Authority
KR
South Korea
Prior art keywords
entity
node
requestor
specific
rendering
Prior art date
Application number
KR1020000012689A
Other languages
English (en)
Other versions
KR20000076843A (ko
Inventor
후앙윤우
유필립에스.-엘.
우군륭
Original Assignee
포만 제프리 엘
인터내셔널 비지네스 머신즈 코포레이션
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 포만 제프리 엘, 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 포만 제프리 엘
Publication of KR20000076843A publication Critical patent/KR20000076843A/ko
Application granted granted Critical
Publication of KR100322716B1 publication Critical patent/KR100322716B1/ko

Links

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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (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)

Abstract

협력적 데이터 네트워크에 대한 분산 개체 랜더링 방법 및 시스템이 개시된다. 인터넷을 포함할 수 있는 데이터 네트워크는 개체 요청자 노드, 개체 소스 노드 및 프록시 서버일 수 있는 중간 노드를 포함하는 연산 노드가 부착되어 있다. 이 방법은 각 관여 프록시 서버가 프록시 뿐만 아니라 그 자체의 동적 부하 조건 및 데이터 네트워크의 동적 트래픽 조건에 적합하게 할 수 있다. 임의의 프록시나 프록시 세트가 개체 랜더링 및 캐싱을 실행하는지에 대한 결정은 프록시 사이에 적응되는 분산식 협력적 방법에 기초한 것이다. 이런 방법의 표준은 프록시 사이의 네트워크 링크의 대역폭과 전류 부하 및/또는 프록시의 각 CPU 사용을 포함할 수 있다. 개체 랜더링이 예를 들어 여러 해상도 랜더링으로 단계별화될 수 있으면, 하나 이상의 프록시로 실행될 수 있다. 어느 프록시가 복수 단계의 랜더링 중 어느 단계를 실행하는 지에 대한 결정은 네트워크 조건 및 동적 부하 조건에 적응될 수 있다.

Description

협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한 방법 및 장치{METHOD AND APPARATUS OF A COLLABORATIVE PROXY SYSTEM FOR DISTRIBUTED DEPLOYMENT OF OBJECT RENDERING}
본 발명은 데이터 네트워크에 관한 것으로, 특히 데이터 네트워크 상에 분산 개체 랜더링 (rendering)을 실행하는 능력에 관한 것이다. 특히, 복수의 협력적 프록시 서버 (collaborative proxy server)가 이들의 각 장치 능력과 사양에 기초하여, 여러 종류의 고객 장치 상에 개체 컨탠트가 표시되거나 이에 의해 소모될 수 있도록 분산 개체 랜더링을 실행한다.
인터넷이 더욱 대중화됨에 따라서, 소위 스마트폰 및 PDA (personal digital assistants) 등의 비개인 컴퓨터(PC) 장치가 유선이나 무선 접속에 의해서 인터넷에 접속되게 된다. 인터넷은 PC 및 그 외 서버 컴퓨터 뿐만 아니라 여러 종류의 정보 기구/장치가 모두 접속되어 있는, 소위 대중적인 컴퓨터 환경이 되어가고 있다. 이러한 대중적인 컴퓨터 환경에서, 개별의 기구/장치는 여러 컴퓨터 파워와 디스플레이 능력을 가질 것으로 기대된다. 예를 들어, 어떤 장치는 컬러 화상을표시할 수 있는 반면 다른 장치는 흑과 백 화상만을 표시할 수 있다. 또한, 어떤 장치는 대형이어서 용이하게 표시될 수 있는 반면 다른 장치는 비교적 적은 디스플레이만을 가질 수 있다. 따라서 이런 대중적인 컴퓨터 환경에서는 동일한 정보 개체가 여러 장치 디스플레이 사양에 따라서 여러 유형이나 해상도로 랜더링되어야만 한다는 것이 이해될 수 있다.
여러 해상도로 정보를 표시하도록 하는 각종 기술이 개발되고 있다. IEEE InforCom의 회보, 1994, A. Ortega 등의 '다중 해상도 원격 화상 검색 시스템의 최적화를 위한 프레임워크'에서, 다중 해상도로 화상 및 비디오를 전송하는 시스템이 개시되어 있다. 전자 부품 소비재에 대한 IEEE 트랜잭션, vol. 38, no.1, 1992년 2월, G. Wallace에 의한 'JPEG 정지 화상 압축 표준'에서, 복수의 여러 해상도로 화상을 표시하기 위한 JPEG 화상 압축 표준이 기재되어 있다.
여러 유형이나 해상도로의 개체의 랜더링이 여러 위치에서 실행될 수 있다. 하나의 가능한 위치는 컨탠트 서버 내에 있다. 그러나, 컨탠트 서버는 특히 대다수의 여러 고객의 요청이 모두 동일한 컨탠트 서버에 인입하게 되어, 쉽게 과부하 상태가 될 수 있다. 개체를 랜더링하는 다른 가능한 위치는 실재로 개체를 소모하게 되는 고객 기기 내에 있다. 그러나, 이것은 많은 통상의 고객 기기가 컴퓨터 파워에서 너무 제한되는 경향이 있어 필요한 랜더링 기능을 실행할 수 없기 때문에 바람직하지 않다.
다르게는, 이 랜더링이 하나 이상의 프록시 서버에 의해 행해질 수 있는데, 이것은 컨탠트 서버와 클라이언트 장치 사이의 데이터 네트워크에 위치될 수 있다.이 시나리오에서는 장치 특정의 정보가 개체와 관련되는 메타 정보 상에서 피기백 (piggyback)될 수 있으며, 프록시 서버는 메타 정보에 따라 개체 랜더링을 실행할 수 있다. 일단 개체 랜더링이 프록시 서버에 의해 실행되면 그 결과가 프록시 버서에 캐시 (저장)될 수 있다. 이 경우 동일한 종류의 장치로부터 동일한 개체에 대한 후속의 요청이 프록시 서버 캐시에 저장된 카피로부터 직접 서브될 수 있다. 결과적으로, 동일한 종류의 장치에 대한 개체의 반복된 랜더링이 방지될 수 있다. 응답 시간을 개선하기 위해서, IBM NETFINITY 서버 등 많은 PC 서버가 프록시 서버의 네트워크로서 인터넷에서 전개되고 있다 (IBM 및 NETFINITY는 둘다 IBM사의 등록된 상표이다). 이들 프록시 서버는 개체 랜더링과 캐싱 (caching)시 협력하여 동작할 수 있다.
예를 들어, 상기 참조된 일반 양도된 B. Hailpern 등에 의한, '서버 네트워크에서의 바이러스 체크에 적용한 컨탠트 및 메타 정보의 협력적 서버 프로세싱'으로 표제된 미국 특허 출원에서, 프록시 네트워크 상의 메타 정보에 기초하여 하나의 프록시 서버를 선택함으로써 바이러스 체크를 실행하는 방법이 기재되어 있다. 이러한 접근법은 네트워크에서 프록시들 중 하나의 프록시에 의해서 메타 정보에 기초하여 개체에 대해 특정의 연산을 실행하는 방법을 개시한다. 연산 후 개체의 캐싱 형태에 대해서는 특별한 주의를 기울이지 않았다. 또한, 이 연산은 선택된 프록시 서버에 의해 완전하게 행해지며, 하나 이상의 프록시 서버에 의해서는 분산 형식으로 행해지지 않는다.
IEEE 개인 통신, pp. 10-19, 1998년 8월, A. Fox에 의한 '내부 구조물 프록시를 이용한 네트워크 및 고객 변형의 적용'으로 표제된 접근법에서는, 프록시의 클러스터 (cluster) 상에 데이터형-특정 추출 (datatype-specific distillation)을 실행하는 방법이 개시되어 있다. 개체 랜더링 및 캐싱은 모두 프록시의 특정 클러스터에 의해 실행된다. 중심의 매니저는 클러스터의 프록시들 사이의 부하 밸런싱을 실행하는 데에 사용된다. 이 접근법의 결점은 개체 랜더링 및 캐싱이 플록시의 동일한 클러스터 상에서 완전히 행해지고, 분산 형식으로는 행해지지 않는다는 것이다. 동일한 클러스터에서가 아닌 네트워크에서의 다른 프록시는 개체 랜더링 공정의 단계들 중 어떤 단계에는 참여할 수가 없다. 이점에 비추어, 분산 형식으로 개체 랜더링을 전개할 수 있는 협력적 프록시 시스템에 대한 요구가 대두되고 있음이 이해될 것이다. 본 발명 이전에는 이런 요구가 만족되지 않았다.
본 발명의 제1 목적 및 장점은 분산 형식으로 개체 랜더링을 실행하는 협력적 프록시 시스템을 제공하는 것이다.
본 발명의 제2 목적 및 장점은 프록시 네트워크 전체를 통해서 개체 랜더링 처리를 분산하고, 개체 랜더링 처리를 특수한 개체 랜더링 프록시에만 집중하지 않도록 하는 기술을 제공하는 것이다.
본 발명의 다른 목적 및 장점은 랜더링과 같은 개체 처리 작업이 예를 들어 프록시 네트워크의 동적 부하 특성에 기초하여 적응식으로 분산되는 협력적 프록시 네트워크를 제공하는 것이다.
본 발명의 실시예에 따른 방법 및 장치에 의해서 상술된 문제 및 그 외 문제들이 해결되며 상술한 목적 및 장점들이 실현된다.
본 발명의 개시에 따르면, 협력적 데이터 네트워크에 대한 분산된 개체 랜더링 방법이 개시되어 있다. 인터넷을 포함할 수 있는 데이터 네트워크는 개체 리퀘스터 노드, 개체 소스 노드 및 프록시 서버일 수 있는 중간 노드를 포함하는, 연산 노드가 부착되어 있다. 본 방법은 간단하게는 '프록시'로 언급되고 복수의 형식으로는 '프록시들'로 언급될 수 있는 각 관여 프록시 서버가 프록시들 뿐만 아니라 그 자체의 동작 부하 조건 및 데이터 네트워크의 동적 트래픽 조건에도 적용되게 할 수 있다. 어느 프록시나 어느 프록시 세트가 개체 랜더링과 캐싱을 실행하도록 할지에 대한 판정은 프록시 사이에 적용되는 분산식 협력적 방법에 기초한 것이다. 이런 방법의 표준은 프록시 사이의 네트워크 링크의 대역폭 및 현재 부하, 및/또는 프록시의 각 CPU 사용을 포함할 수 있다. 개체 랜더링이, 예를 들어 여러 해상도의 랜더링으로 단계별화될 수 있으면, 이것은 하나 이상의 프록시에 의해 실행될 수 있다. 어느 프록시가 다중 단계의 랜더링 중 어느 단계를 실행하는지에 대한 판단은 네트워크 조건 뿐만 아니라 동적 부하 조건에 따라 적용될 수 있다.
그 결과, 개체의 서빙시, 관여 프록시는 먼저 고객 장치 유형에 기초하여 개체 랜더링 처리가 필요한지를 결정한다. 개체 랜더링 처리가 필요한 것으로 밝혀지면, 요청된 개체 유형 및 네트워크에의 다른 프록시에 대한 협력적 정보에 기초하여, 관여 프록시는 (a) 완전한 개체 랜더링을 스스로 실행하고, (b) 랜더링 처리가 수행될 수 있으면 부분 랜더링을 실행하고, (c) 아무것도 행하지 않고 다른 프록시가 랜더링 작업을 실행하게 하는 것을 선택할 수 있다. 이 목적은 단지 특별한 개체 랜더링 프록시에서가 아니라, 프록시 네트워크 전체에 걸쳐 랜더링 처리를 분산하는 것이다.
따라서 본 발명은 상호 접속된 연산 노드로 이루어진 네트워크에서 분산된 동적 계층적 랜더링 방법을 제공한다. 이 방법은 개체 요청 노드 또는 개체 요청 노드에 결합된 프록시 노드에서, 개체 요청 노드 (수신기 힌트 정보 (RHI) 또는 요청자 특정 능력 정보로서 언급)의 능력을 설명하는 개체 요청 특정 메타-정보를 포함하는 단계; 중간 노드에서, 요청된 개체가 국부적으로 이용 가능하지 않으면, 랜더링 서비스를 제공하기 위해 그 국부적 조건을 특정하기 위한 정보를 포함하도록 RHI를 변형하면서, 개체 요청을 수신하여 이 요청을 다른 중간 노드 (또는 요청된 개체의 소스)에 전달하는 단계; 그렇지 않으면, 중간 노드는 필요한 랜더링을 결정하고, RHI에 기초하여 필요한 랜더링 중 어느 부분이나 어느 서브세트가 중간 노드에 의해 실행되는지를 선택 기능으로 하여금 결정하게 하는 단계를 포함한다. 중간 노드는 다음에 랜더링을 실행하고 랜더링된 개체를 요청한 노드에 전달한다. 본 발명의 일부로서, 부분적으로 랜더링된 개체를 수신한 다른 중간 노드는 RHI에 기초하여 나머지 필요한 랜더링 중 어느 부분(또는 모두)이 이 중간 노드에 의해 실행되는지를 선택 기능으로 하여금 결정하게 한 다음에, 랜더링을 실행하여 랜더링된 개체를 요청한 노드에 전달한다.
요청된 개체의 덜 상세한 버전을 갖는 중간 노드에서 본 발명은 RHI 내에 이 정보를 포함하고, 이 요청을 다른 노드에 이송하고, 요청된 개체의 더욱 상세한 버전을 갖는 다른 중간 노드에서, 이 노드는 다른 국부적 랜더링 없이 요청된 개체의더욱 상세한 버전을 회수할지 또는 대신에 약간의 랜더링을 실행하여 부분 랜더링된 개체를 회수하거나 대신에 완전히 랜더링된 개체를 회수할지를 결정한다.
국부적 조건 정보는 부하 및/또는 노드의 능력 (CPU 이용율)을 포함할 수 있으며, (요청한 노드로부터의) 네트워크 딜레이의 함수일 수 있다. 국부적 조건 정보는 또한 (노드에서 이용 가능한 소프트웨어에 의존할 수 있는) 노드에서 실행될 수 있는 랜더링의 유형을 포함할 수 있다. 국부적 조건 정보는 국부적 노드에서의 저장 이용율을 더 포함할 수 있다.
각 중간 노드에 대해서 RHI 정보를 이용하여 필요한 랜더링 중 어느 부분이 국부적으로 실행되는지를 다른 노드와는 상관 없이 동적으로 결정하기 위한 선택 방법이 제공된다. 이 선택 방법은 (a) 나머지 랜더링 동작을 단계별로 분할하는 단계; (b) RHI 정보를 입력 파라미터로 이용하여, 임의의 기능을 최적화하기 위해서 국부적으로 실행되는 하나 이상의 랜더링 단계를 선택하는 단계; (c) 현재의 노드에 대해 선택된 하나 이상의 랜더링 단계를 실행하는 단계를 포함할 수 있다. 이 기능은 먼저 대부분의 대역폭이 감소된 랜더링 단계를 실행하고/하거나 요청한 고객 장치 노드로의 경로 상의 나머지 노드 사이의 부하 불균형을 감소시키도록 랜더링 단계를 실행하는 것이다. 이 기능은 또한 RHI 정보에 기초하여, 이 노드에서 요청 노드로의 예상 응답 시간일 수 있다.
다르게, 이 선택 방법은 (a) 나머니 랜더링 동작을 단계별로 분할하는 단계; (b) 할당 계획에 따라서, RHI 정보를 입력 파라미터로서 이용하여, 임의의 함수를 최적화하기 위해 요청 고객 장치로의 경로 상에 랜더링 단계를 다른 노드에 할당하는 단계; (c) 현재 노드에 할당된 랜더링 단계 또는 단계들을 실행하는 단계를 포함한다. 또한 본 발명의 영역 내에서 랜더링된 개체와 관련된 메터 정보로서 할당 계획을 다음 노드에 전달한 다음에, 다음 노드에서의 CPU 부하와 같은 국부적 고려 사항에 따라서 할당 계획을 변형한다.
랜더링된 개체 및/또는 수신된 개체는 랜더링된 개체를 생성하는 비용과 같은, 캐싱 고려 사항을 위해서, 캐시 매니저에 전달될 수 있다.
일반적으로, 여러 중간 노드는 랜더링을 위해 여러 선택 기능을 사용하도록 선택될 수 있으며, 각 중간 노드는 노드의 국부적 조건 (예를 들어, CPU 부하)에 따라서 여러 선택 기능을 선택할 수 있다.
각 노드는 또한 각 요청과 관련된 RHI의 정보를 포함하는 대신에, 인접한 노드로부터 통계적 부하 정보를 주기적으로 수집할 수 있다.
도 1은 본 발명의 예시적 실시예에 따른 인터넷 환경의 블럭도.
도 2는 본 발명의 예시적 실시예에 따른 프록시 환경을 설명하는 블럭도.
도 3은 본 발명의 예시적 실시예에 따른 프록시 서버의 구성을 설명하는 플로우챠트도.
도 4는 본 발명의 예시적 실시예에 따라서 개체 요청을 수신할 때의 프록시 서버의 동작을 설명하는 플로우챠트도.
도 5는 본 발명의 예시적 실시예에 따라서 개체를 수신할 때의 프록시 서버의 동작을 설명하는 플로우챠트도.
<도면의 주요 부분에 대한 간단한 설명>
101, 212 : 네트워크
110, 111, 112 : 프록시 서버
120, 121 : 컨탠트 서버
130, 131 : 고객
201 : 프록시 서버 노드
202 : 메모리
203 : 서버 로직
205 : 개체 요청 핸들러
207 : 캐시 매니저
210 : 저장 장치
211 : CPU
도 1은 본 발명의 예시적 실시예에 따른 프록시 네트워크의 전체 구조를 설명하는 블럭도이다. 나타낸 바와 같이, 여러 고객(130, 131)은 프록시 서버(110, 111, 112)를 통해 접속되어 컨탠트 서버(120, 121)의 정보 개체를 억세스한다. 고객, 프록시 및 컨탠트 서버는 모두 인터넷과 같은 네트워크(101)를 통해 접속될 수 있다. 프록시(110, 111, 112)는 일반적으로, 캐싱과 컨탠트 필터링과 같은 서비스를 제공하고, 억세스 시간을 개선하도록 이용될 수 있다. 예를 들어, ISP (인터넷 서비스 프로바이더)는 여러 위치 (예를 들어, 국부적, 지역적 및 전국적 프록시 서버)에 위치되는 계층적 네트워크의 프록시 서버(110, 111, 112)를 포함할 수 있다.다르게, 또한 예시적으로, 개인 또는 반개인적 국부적 지역망(LAN) 또는 광범위 지역망(WAN) 내에서 기능하는 하나 이상의 프록시 서버가 있을 수 있으며, 이 하나 이상의 프록시 서버는 LAN 또는 WAN에 대해 보안을 제공하는 파이어월(firewall) 뒤에 위치될 수 있다.
개체 랜더링은 컨탠트 서버(120, 121)로부터 검색되는 개체에 기초하여 프록시(110, 111, 112)에 의해 실행된다. 여기에서 수신기 힌트 정보(RHI)로 언급되는 특정 장치 능력과, 여기에서 (일반적으로 물체 특정 디스크립터 정보로 언급되는) 개체 데이터 유형은, 요청 및 요청된 개체에 관련된 메타정보에 첨부되는 등으로 포함된다. RHI는 요청한 고객 장치(130, 131)에 의해, 또는 프록시들 중 하나 (예를 들어, 요청 장치에 결합된 제1 프록시)에 의해 개체 요청이 포함될 수 있다. 후자의 경우, 프록시(110, 111, 112)는 요청이 보내진 요청 장치의 식별자에 기초하여 장치 능력의 테이블을 억세스할 수 있으며, 테이블 내에 저장된 정보에 기초하여 RHI를 구성할 수 있다. 일 예로서, ISP 구성을 가정하면, 국부적 프록시 서버는 국부적 프록시에 의해 서비스될 수 있는 여러 고객 장치의 특성 (예를 들어, 디스플레이의 유형, 그래픽 메모리의 크기 등)을 저장한 테이블에 억세스한다. 특정 고객 장치(130, 131)에 대한 테이블 엔트리는 장치가 먼저 ISP에 등록할 때 저장될 수 있다. 그 후, 국부적 프록시 서버는 고객 장치가 요청을 하고, 테이블을 억세스하고, 개체 요청이 포함되게 적당한 RHI를 구성할 때 고객 장치의 식별자를 수신한다. 유사한 방식으로 요청된 개체의 소스는 개체 특정의 디스크립터 정보를 회수된 개체에 부가할 수 있거나, 이 정보는 (이하 더 상세히 설명되는 바와 같이,프록시 서버가 프록시에 저장된 개체의 카피로부터의 요청을 충족하지 않는 경우에 대해) 프록시 서버 로컬에 의해 요청된 개체의 소스에 부가될 수 있다.
본 발명의 바람직한 실시예에서, RHI는 PICSTM('인터넷 컨탠트 선택용 플랫폼') 정보를 이용하여 실행되고, 이런 본 발명의 형태를 이하 더욱 상세히 설명한다.
요청된 개체가 프록시 네트워크를 통과할 때, 프록시 서버(110, 111, 112)가 관련 RHI에 근거하여 완전하거나 부분적인 랜더링을 실행할 수 있다. 예를 들어, 전체의 랜더링 공정이 둘 이상의 단계로 분할될 수 있으면, 프록시 서버들 중 임의의 하나 (예를 들어, 110)가 랜더링 단계들 중 오직 한 단계를 실행한 다음에, 부분 랜더링된 개체를 다른 프록시 서버 (예를 들어, 111)에 전달하도록 결정할 수 있다. 프록시 서버(110)는 또한 실행하는 처리를 반영하도록 RHI를 변형하고, 이 변형된 RHI를 프록시 서버(111)에 이송한다. 또한, CPU 부하 및 네트워크 트래픽 로드 등과 같은 프록시 서버(110, 111, 112)에 대한 국부적 조건은 RHI에 포함되어 네트워크(101)를 통해서만 전달될 수 있다. 본 발명의 이들 형태를 이하 더욱 상세히 설명한다.
본 발명의 예시적 실시예에서, 고객(130, 131)은 예를 들어, 퍼스널 컴퓨터(PC), 워크스테이션, 스마트폰, 퍼스널 디저털 어시스턴트(PDA) 등을 포함할 수 있다. 프록시 서버(110, 111, 112)는 IBM사로부터 상용 가능한, 예를 들어 인터넷 접속 서버(ICS)를 실행하는 PC 서버, RISC SYSTEM/6000 서버 또는 S/390 서버를 포함할 수 있다 ((RISC SYSTEM/6000, S/390 및 인터넷 접속 서버는 모두 IBM사의 상표명이다). 네트워크(101)는 예를 들어, 인터넷, 월드 와이드 웹, 인트라넷 및 국부적 지역망(LAN)일 수 있다. 컨탠트 서버(120, 121)는 로터스 고 웹 서버 (Lotus Go Web server) 또는 로터스 도미노 고 서버 (Lotus Domino Go server)를 실행하는 PC 서버, RS/6000 서버, 또는 S/390 서버를 포함한다 (고 웹 및 도미노 고는 로터스 디벨로프먼트사의 상표명이다).
도 2는 본 발명의 예시적 실시예에 따른 일반 프록시 환경을 설명하는 블럭도이다. 프록시 서버 노드(201) (예를 들어, 도 1의 프록시 서버(110, 111, 112) 중 하나일 수 있는)는 도 1의 네트워크(101)와 같은, 네트워크(212)를 통해 요청을 서비스할 수 있는 연산 노드를 나타내는 데에 사용된다. 프록시 서버 노드(201)는 바람직하게 CPU(211), RAM과 같은 메모리(202), 및 디스크 저장 장치 등의 저장 장치(210), 또는 더 일반적으로는 디렉트 억세스 저장 장치(DASD)를 포함한다. 프록시 서버 로직(203)은 메모리(202) 내에 저장될 수 있으며, 바람직하게는 CPU(211)에 의한 실행을 위해 디스크(210)로부터 메모리(202) 내에 저장되는 컴퓨터 판독 가능 및 실행 가능 코드로서 구현되게 된다. 도 3을 참조하여 더욱 상세히 설명되는 프록시 서버 로직(203)은 개체 핸들러(204) (도 5에서 더욱 상세히 설명됨) 및 개체 요청 핸들러(205) (도 4에서 더욱 상세히 설명됨)를 포함한다. 특정 개체와 관련된 RHI에 따른 개체 랜더링을 실행하는, 개체 랜더러(206)은 또한 프록시 서버 로직(203)에 포함될 수 있다. 개체 랜더러 (renderer)는 에를 들어, 컬러 화상을 흑과 백 화상으로 랜더링하는 컴퓨터 프로그램일 수 있거나, 복합 하이퍼텍스트 마크업 랭귀지 (HyperText Markup Language; HTML) 텍스트를 HTML 헤더의 요약만을 포함하는 간단한 HTML 텍스트로 축약하는 것일 수 있다. 프록시 서버 로직(203)은 또한 개체 랜더링 동작을 동일한 프록시 서버로 반복하는 것을 방지하기 위해서 부분 랜더링되거나 완전히 랜더링된 개체의 국부적 카피를 보유하는 캐시 메니저(207)를 포함할 수 있다.
도 3은 본 발명의 예시적 실시예에 따라서 입력을 수신하고 있을 때 프록시 서버 노드(201)의 일반적 동작을 설명하는 플로우챠트도이다. 단계(301)에서, 프록시 서버 노드(201)는 입력을 대기한다. 수신된 입력에 따라서, 여러 동작이 행해진다. 단계 302에서 수신된 입력이 개체 요청 (예를 들어, 고객(130, 131)의 PDA형으로부터의 하이퍼텍스트 프랜스퍼 프로토콜(HTTP) 요청)이면, 개체 요청 핸들러(205)가 단계 303에서 불러진다. HTTP는 일반적으로 다큐먼트 컨탠트 및/또는 설명적 헤더 정보를 검색하는 데에 사용된다. 단계 304에서 수신된 입력이 개체 (예를 들어, 프록시 서버 노드(201)에 의해 행해진 요청에 응답하여 현재의 프록시 서버 노드(201)에 회수된 개체)이면, 개체 핸들러(206)가 단계 305에서 불러진다. 개체 핸들러(206)의 상세한 구현을 도 5에서 설명한다. 파일 트랜스퍼 프로토콜 (FTP) 요청과 같은 다른 유형의 요청에 대해서는, 단계 306에서 다양한 핸들러가 불러내진다. 적당한 핸들러를 불러낸 후에, 네트워크(212)로부터 프록시 서버 노드(201)에의 다음 입력을 대기하기 위해서 단계 301로 되돌아간다.
도 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)는 더 이상의 랜더링이 필요한지를 결정할 수 있다. 더 이상의 랜더링이 필요하지 않으면, 프록시 서버는 단계 403에서 랜더링 서비스를 제공하기 위한 국부적 조건을 나타내도록 RHI를 변형하여 이 개체를 회수한다. 더 이상의 랜더링이 필요하면, RHI나 요청 장치에 기초하여, 단계 405에서 프록시 서버는 랜더링을 국부적으로 실행하길 원하는지의 여부를 결정하는 선택 기능을 실행한다. 프록시 서버는 랜더링을 국부적으로 실행하지 않는다고 결정하면, 프록시 서버는단계 406에서 이런 랜더링 서비스를 제공하기 위해 그 국부적 부하 조건을 나타내도록 RHI를 변형하고 이 변형된 RHI와 함께 개체를 회수한다. 대신에 프록시 서버가 랜더링을 국부적으로 실행하길 원한다면, 단계 407에서 RHI는 완전한 랜더링 처리 또는 필요한 랜더링 처리 중 단지 일부를 실행하길 원하는지를 결정하도록 체크한다. 프록시 서버가 랜더링 처리 중 단지 일부만을 실행하길 원하면, 단계 409에서 랜더링 처리 중 어느 부분을 처리할지를 결정하는 다른 선택 기능을 실행한다. 양 경우, 단계 405에서 국부적 랜더링을 실행하도록 결정한 후에, 프록시 서버(110, 111, 112)는 개체 랜더러(206)를 호출하여 단계 408에서 개체 랜더링을 실행한다. 랜더링 처리가 완료된 후 (완전하거나 부분 랜더링), 캐시 매니저(207)가 단계 410에서 호출되어 랜더링된 개체의 카피를 국부적으로 캐시할지의 여부를 결정한다. 다음에 프록시 서버(110, 111, 112)는 단계 406에서 RHI를 변형하여 그 국부적 조건을 반영하고 랜더링된 (완전히 랜더링되거나 부분 랜더링된) 개체를 변형된 RHI와 함께 회수한다.
단계 404에서 프록시 서버(110, 111, 112)가 캐시에 요청된 개체의 덜 상세한 버전을 갖는다는 것을 RHI에 나타낸 다음에, 이 개체에 대한 요청을 다른 프록시 서버에 보낼 수 있다는 것을 당업자라면 이해할 수 있을 것이다. 요청된 개체의 더 상세한 버전을 저장한 프록시 서버는 더욱 상세한 개체를 요청 프록시 서버에 보내도록 결정하거나, 대신에 요청 프록시 서버가 필요한 해상도로 개체를 랜더링하는 데에 필요한 정보마다 보낼 수 있다. 다르게는, 요청된 개체의 더 상세 버전을 포함하는 프록시 서버(110, 111, 112)는 요청 프록시 서버에 대해 필요한 랜더링을 실행하고 완전히 랜더링된 개체를 요청 프록시 서버에 회수하도록 결정할 수 있다. 이런 결정은 예를 들어 요청 프록시 서버의 부하 대 요청된 개체의 더 상세 버전을 저장한 프록시 서버의 부하에 근거할 수 있다.
프록시 서버(110, 111, 112) 중 임의의 하나가 전체 나머지 랜더링을 국부적으로 실행할지 또는 개체 랜더링 중 어느 부분을 국부적으로 실행할지를 결정하기 위한 선택 기능에 여러 많은 변형이 있다는 것을 당업자라면 이해할 수 있을 것이다.
예를 들어, 선택 표준은 현재의 CPU 부하 및/또는 요청 노드로부터의 네트워크 딜레이 및 요청 노드의 부하 조건을 포함할 수 있다. 이 표준은 또한 실행되는 랜더링의 유형 및 랜더링을 행하는 데에 필요한 소프트웨어의 이용성을 포함할 수 있다. 예를 들어, 프록시 서버(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에서 CPU 로딩과 같은 국부적 조건에 근거하여 랜더링을 실행하게 되는지의 여부를 판정하게 된다. 단계 505에서 국부적 랜더링을 실행하지 않는다고 결정하게 되면, RHI를 변형한 다음에 개체를 요청 고객 장치(130, 131)로의 경로상의 다른 프록시 서버에 회수한다. 한편, 프록시 서버가 단계 504에서 개체의 국부적 랜더링을 실행하는 것을 결정하면, 단계 506에서 프록시 서버는 전체의 나머지 랜더링 처리를 국부적으로 실행하는지의 여부를 결정한다. 실행하지 않으면, 나머지 랜더링 처리를 복수의 단계를 분할한 다음에, 단계 508에서 국부적으로 실행되도록 이 단계들의 부세트를 선택한다. 다음에 단계 507에서 개체 랜더러(206)가 호출되어 국부적 랜더링을 실행한다. 랜더링 연산 후에, 단계 509에서 캐시 매니저(207)가 호출되어 랜더링된 개체가 캐시되어야 하는지를 결정한다. 프록시 서버(110, 111, 112)는 관련 RHI를 변형하여 이 개체를 요청 고객 장치(130, 131)에 또는 요청 고객 장치(130, 131)로의 경로 상의 다른 프록시 서버에 회수한다.
여러 중간 프록시 서버가 국부적으로 실행하는 개체 랜더링 양을 결정하기 위해서 여러 선택 기능을 선택하는 것이 가능하다. 부가하여, 프록시 네트워크의 각 노드는 각 요청과 관련된 RHI의 부하 조건을 포함하는 대신에, 인접한 프록시 서버 노드로부터 통계적 부하를 주기적으로 수집할 수 있다.
캐시의 관리시, 캐시 매니저(207)가 랜더링된 개체를 생성하는 처리 비용을 고려할 수 있다는 것을 당업자라면 이해할 수 있을 것이다. 따라서, 캐시 매니저는 국부적으로 랜더링된 개체에 대한 개별의 스택을 다른 개체에 대한 정규의 스택에 부가하여 보유할 수 있다. 또한 다른 프록시 서버에 의해 랜더링된 개체를 바람직하다면 캐시할 수 있다.
본 발명을 예시적 실시예에 관련하여 설명하였지만, 본 발명의 특정 형태, 특히 수신기 힌트 정보 (RHI)에 대한 현재 바람직한 구현에 대한 더욱 상세한 설명을 본 발명의 이용예와 함께 이하 제공한다.
일반적으로, 메타 데이터 정보는 PICSTM('Platform for Internet Content Selection')와 동일한 방법으로, HTTP 요청 헤더 및 응답 헤더에 저장될 수 있다. 가장 일반적으로, PICSTM사양은 라벨 (메타데이터)이 인터넷 컨탠트와 관련되게 할 수 있다. PICSTM은 전자 컨탠트에 관한 메타정보를 보내는 방법을 특정하는 것으로서, 웹 컨소시움 프로토콜 레코멘데이션이다 (http://www.w3.org/PICS 참조). PICSTM은 먼저 전자적 컨탠트에 대한 값에 근거한 레이팅 라벨을 보내는 데에 사용되지만, 또한 코드 사이닝 (code signing) 및 프라이버시 (privacy) 등의 라벨에 대한 다른 사용을 용이하게 할 수 있다. 그러나, 메타정보의 포맷과 의미는 완전히 일반적인 것이다. PICSTM에서, 전자적 컨탠트를 설명하는 메타 정보는 정보의 프로듀서 및 의도된 사용에 따라 그룹화되어 있으며, 이런 하나의 그룹 내에는, 임의 개수의 정보 카테고리가 전송될 수 있다. 특정 컨탠트에 대해서, 특정 카테고리는 단일의 값이나 다중 값을 가질 수 있다. 부가하여, 'PICSTM라벨'로 알려진 메타 정보 그룹은 종료 정보를 포함할 수 있다. 특정한 전자적 컨탠트에 대한 PICSTM라벨은 컨탠트로부터 독립적으로 부가되거나 제거될 수 있다.
REC-PICS-labels-961031, 버전 1.1, W3C Recommendation 31-96년 10월, 'PICS Lable Distribution Label Syntax and Communications Protocols'로 표제된문헌을 참조하며, 이 문헌은 http://www.w3.org/PICS에서 이용할 수 있으며, 여기에서 참조되고 있다. Pawl Resnick, Scinetific American, 1997년 3월, 'Filtering Information on the Internet'으로 표제된 논문을 또한 참조한다.
본 발명의 개시에 따르면, 예를 들어, 화상의 해상도를 나타내도록 설정된 필드를 갖는 PICS 라벨로 서버로부터 화상 파일이 보내될 수 있다. 이러한 해상도 라벨은 컬러 엔코딩 및 화상 크기의 쌍, r(c 16 s 1000)로 특정되며, 여기에서 'c'와 's'는 각종 메타 정보 유형에 대한 전송 이름으로서, 이 화상 컨탠트에 대한 적용 값은 16 (c에 대해) 및 1000 (s에 대해)이고, 이는 16비트 컬러 엔코딩과 1000M 바이트 화상의 크기를 나타낸다. 분산된 개체 랜더링에 참여한 이들 프록시 서버(110, 111, 112)는 이들 카테고리와 값을 해석하는 방법을 알고 있다. 프록시 서버의 부하 조건 뿐만 아니라, 그 외 장치의 능력은 PICSTM라벨로 유사하게 엔코드되며 HTTP 요청 헤더 및/또는 응답 헤더와 함께 전송된다.
예를 들어, PDA와 같은 퍼스널 디지털 장치 (PDD)의 장치 능력은 컬러 엔코딩과 화상 크기의 쌍, d(c 1 s 2)으로 특정될 수 있으며, 이것은 PDD가 1비트의 컬러 엔코딩 (c)으로 2M 바이트 (2 메가바이트)의 화상 크기 (s)를 디스클레이 (d)할 수 있다는 것을 나타낸다. 이 장치 능력의 PICS 라벨은 상술된 바와 같이, PDD 또는 PDD에 결합된 프록시 서버에 의해서, 여러 프록시 서버(110, 111, 112) 사이에서 전송된 HTTP 요청 헤더 내로 삽입된다. 이 PICS 라벨은 수신기 힌트 정보 (RHI)로서 여기에서 참조되고 있다.
상술된 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) 중 임의의 하나는 수시된 화상 개체의 컬러 엔코딩을 16 레벨에서 1 레벨로 변형한 다음에, 프록시 서버에 의해 수신되어진 변형 PICS 라벨은, PDD의 RHI d (c 1 s 2)와 여전히 영립하지 않는 형태인 r (c 1 s 1000)이라고 가정한다. 다음 프록시 서버(110, 111, 112)는 화상의 크기를 1000 메가바이트에서 2 메가바이트로 줄이기 위해서 수신된 화상 개체를 랜더링하고, 그 결과 PDD의 RHI d(c 1 s 2)와 양립하는 형태인, 변형된 PICS 라벨 r(c 1 s 2)이 된다.
분산 개체 랜더링의 다른 예로서, 퍼스널 디지털 장치 PDD가 화상 파일을 요청하고 있으며 이 화상 파일은 네트워크(101)에서 프록시 서버(110, 111, 112) 중 어느 하나에 현재 존재하지 않는다고 가정한다. 이 요청은 먼저 로컬 ISP (인터넷 서비스 프로바이더)와 같은 국부적 프록시 서버 A에 이송된 다음에, 지역적 프록시서버 B에 이송되고, 다음에 전국적 프록시 서버 C에 이송된다. 전국적 프록시 서버 C는 다음에 적당한 컨탠트 서버(120 또는 121)에 요청을 행한다.
본 발명의 개시에 따르면, 국부적 프록시 서버 A는 화상 파일에 대한 HTTP 요청이 장치의 ID를 인식함으로써 특정 장치 PDD로부터 나온다는 것을 인식한다. 국부적 프록시 서버 A는 국부적 메모리나 다른 메모리에 저장된 테이블이나 디렉터리를 찾아 장치 PDD의 장치 능력과 d(c 1 s 3)과 같이 대응 장치 능력의 PICS 라벨을 발견하고, 이는 이 장치가 1 비트의 컬러 엔코딩으로 3M 바이트의 화상 크기만을 표시할 수 있음을 나타낸다. 이러한 PICS 라벨은 다음에 HTTP 요청 헤더 (PDD에 대한 RH로서)에 들어가고 뒤이어 지역적 및 전국적 프록시 서버 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)에 보낸다.
당업자라면 다수의 가능한 네트워크 기술이 본 발명의 개시로부터 가능하며 이에 따라 동작될 수 있으며, 따라서 본 발명의 개시는 상술된 특정 실시예에만 제한되는 것이 아님을 이해할 수 있을 것이다.
더구나, 본 발명의 개시는 RHI를 구현하기 위해서 PICSTM포맷된 라벨이나 데이터 구조를 이용하는 데에만 한정되지 않는다.
또한, 화상 개체 이외의 개체가 요청되어, 회수되고 또한 하나 이상의 중간 연산 노드에 의해 처리될 수 있다. 일 예로서, 오디오 개체는 상술한 화상 개체와 유사한 방법으로 취급될 수 있으며, 여기에서 RHI는 요청자의 오디오 재생 능력을 나타낼 수 있다. 본 발명의 개시는 또한 제한된 표시 능력을 갖는 PDD 등의 장치에 의해 요청될 때 다큐먼트를 간략화하기 위해서 텍스트의 많은 헤더 및 패러그래프를 포함하는 복합 HTML 다큐먼트에 적용될 수 있다.
또한 본 발명의 개시는 개체를 소모하는 장치의 능력에 따라서, 화상 랜더링과 같은 개체 처리를 실행할 수 있는 협력적 서버의 네트워크에 개별의 서버를 제공하기 위해 컴퓨터 판독 가능한 매체 (디스크(210) 등) 상에 구현되는 컴퓨터 프로그램을 포함하고 있다. 컴퓨터 프로그램은 개체를 요청자의 능력에 맞추도록 하기 위해 개체를 부분적으로 또는 전체적으로 처리하기 위해서, 수신된 개체가 포함된 개체 특정의 정보 뿐만 아니라, 개체에 대한 요청이 포함된 요청자 특정의 능력 정보에 응답하는, 코드 세그먼트를 포함한다.
본 발명은 또한 협력적 연산 노드의 상호 접속 계층적 네트워크에서 연산 노드 기기들 각각의 것이 개체를 소모하는 장치의 능력에 따라서, 랜더링과 같은 개체 처리를 실행하도록 하는, 방법의 단계를 실행하는 기기에 의해 실행 가능한 명령 프로그램을 구현하는, 기기에 의해 판독 가능한 프로그램 저장 장치를 포함한다. 이 방법은 개체에 대한 요청이 포함된 요청자 특정의 능력 정보에 응답하며, 또한 개체의 소스나 다른 연산 노드 기기로부터 수신되어진 개체에 포함된 개체 특정의 정보에 응답하여, 개체가 개체를 소모하는 요청자의 능력에 맞추어지도록 하기 위해서 개체를 부분적으로 또는 전체적으로 처리한다.
따라서, 본 발명이 바람직한 실시예에 관련하여 특정하게 도시 및 설명되었지만, 당업자라면 본 발명의 정신 및 영역에서 벗어나지 않고 다영한 형태의 변형이 가능함이 이해될 것이다.

Claims (29)

  1. 데이터 네트워크의 동작 방법에 있어서,
    상기 데이터 네트워크에 결합된 복수의 연산 노드를 제공하는 단계 - 적어도 하나의 연산 노드는 개체의 요청자로서 요청을 생성하고, 적어도 하나의 연산 노드는 상기 요청된 개체의 소스이며, 적어도 하나의 연산 노드는 상기 요청자와 상기 소스 사이에 개재되어 상기 요청을 상기 소스로 이송하고 상기 요청된 개체를 상기 소스로부터 상기 요청자에게 회수하는 중간 연산 노드임 - ;
    개체에 대해 생성된 요청을 갖는 요청자 특정의 능력 정보를 포함하는 단계;
    상기 요청된 개체를 갖는 개체 특정의 디스크립터 정보를 포함하는 단계; 및
    상기 적어도 하나의 중간 연산 노드에서, 상기 요청자 특정의 능력 정보 및 상기 개체 특정의 디스크립터 정보를 조사하여, 상기 요청된 개체가 상기 요청자 특정의 능력 정보에 전체적으로 또는 부분적으로 맞추어지도록 하기 위해서 상기 개체를 전체적으로 또는 부분적으로 처리하는 결정을 행하는 단계
    를 포함하는 데이터 네트워크의 동작 방법.
  2. 제1항에 있어서, 상기 개체의 처리시, 상기 적어도 하나의 중간 연산 노드에 의해 실행되는 상기 처리를 반영하도록 상기 개체 특정의 디스크립터 정보를 전체적으로 또는 부분적으로 변형하는 단계를 포함하는 데이터 네트워크의 동작 방법.
  3. 제1항에 있어서, 상기 개체는 화상 개체이며, 상기 요청자 특정의 능력 정보는 상기 개체를 표시하는 상기 요청자의 능력을 나타내는 데이터 네트워크의 동작 방법.
  4. 제1항에 있어서, 상기 결정 단계는, 상기 개체를 처리하지 않을 것으로 결정할 수 있으며, 상기 결정 단계는 상기 중간 연산 노드의 적어도 하나의 국부적 조건을 고려하는 데이터 네트워크의 동작 방법.
  5. 제3항에 있어서, 상기 중간 연산 노드는 상기 요청자가 표시할 수 있다고 상기 요청자 특정의 능력 정보가 나타내는 것 보다 덜 상세한 버전의 요청 개체를 저장하고, 상기 요청을 적어도 하나의 다른 연산 노드에 이송하는 단계 및 상기 요청된 개체의 더 상세한 버전을 갖는 다른 연산 노드에서, 국부적 랜더링 없이 상기 더 상세한 버전의 상기 요청된 개체를 회수할지 또는 대신에 국부적 랜더링을 실행하고 부분적으로 랜더링된 개체를 회수할지, 또는 국부적 랜더링을 실행하여 완전히 랜더링된 개체를 회수할지에 대한 결정을 행하는 단계를 더 포함하는 데이터 네트워크의 동작 방법.
  6. 제3항에 있어서, 상기 중간 연산 노드는 상기 요청자가 표시할 수 있다고 상기 요청자 특정의 능력 정보가 나타낸 것 보다 더 상세한 버전의 요청 개체를 저장하고, 더 상세한 버전의 상기 요청된 개체를 국부적 랜더링 없이 회수할지, 또는대신에 국부적 랜더링을 실행하여 부분적으로 랜더링된 개체를 회수할지, 또는 대신에 국부적 랜더링을 실행하여 완전히 랜더링된 개체를 회수할지의 여부에 대한 결정을 행하는 단계를 더 포함하는 데이터 네트워크의 동작 방법.
  7. 제3항에 있어서, 상기 중간 연산 노드는 상기 요청자가 표시할 수 있다고 상기 요청자의 특정의 능력 정보가 나타낸 것 보다 더 상세한 버전의 요청 개체를 수신하거나 저장하고, 상기 결정 단계는 화상 개체 처리양을 복수의 단계로 분할 하는 단계, 및 상기 중간 연산 노드와 상기 요청자 사이에 위치된 적어도 하나의 다른 중간 연산 노드에 상기 단계들 중 적어도 하나를 할당하는 단계 - 상기 할당 단계는 상기 데이터 네트워크에 의해 상기 적어도 하나의 다른 중간 연산 노드에 전달되는 할당 계획을 생성함 - 를 더 포함하는 데이터 네트워크의 동작 방법.
  8. 제7항에 있어서, 상기 적어도 하나의 다른 중간 연산 노드에서 상기 할당 계획을 국부적 조건에 따라서 변형하는 단계를 더 포함하는 데이터 네트워크의 동작 방법.
  9. 제1항에 있어서, 상기 개체는 화상 개체이고, 상기 개체 특정 디스크립터 정보는 적어도 상기 화상 개체의 컬러가 표현되는 방법 및 또한 상기 화상 개체의 크기를 특정하는 데이터 네트워크의 동작 방법.
  10. 제1항에 있어서, 상기 개체에 대해 생성된 요청을 갖는 요청자 특정 능력 정보를 포함하는 단계는 상기 요청자에 의해 실행되는 데이터 네트워크의 동작 방법.
  11. 제1항에 있어서, 상기 개체에 대해 생성된 요청을 갖는 요청자 특정 능력 정보를 포함하는 단계는 중간 연산 노드에 의해 실행되는 데이터 네트워크의 동작 방법.
  12. 제1항에 있어서, 상기 요청된 개체를 갖는 개체 특정 디스크립터 정보를 포함하는 단계는 상기 요청된 개체의 소스에 의해 실행되는 데이터 네트워크의 동작 방법.
  13. 제1항에 있어서, 상기 요청된 개체를 갖는 개체 특정 디스크립터 정보를 포함하는 단계는 중간 연산 노드에 의해 실행되는 데이터 네트워크의 동작 방법.
  14. 연산 노드가 결합되어 있는 데이터 네트워크에 있어서,
    적어도 하나의 연산 노드는 화상 개체의 요청자로서 요청을 생성하며, 상기 요청자는 요청된 화상 개체를 표시하기 위한 디스플레이를 포함하며, 적어도 하나의 연산 노드는 상기 요청된 화상 개체의 소스이며, 적어도 하나의 연산 노드는 상기 요청자와 상기 소스 사이에 개재되어 상기 요청을 상기 소스에 이송하고 상기 요청된 화상 개체를 상기 소스로부터 상기 요청자에게 회수하는 중간 연산 노드이며, 상기 요청자나 상기 중간 연산 노드 중 하나는 요청자 특정 화상 디스플레이 능력 정보를 화상 개체에 대해 생성된 요청에 부가하고, 상기 소스나 상기 중간 연산 노드 중 하나는 화상 개체 특정 디스크립터 정보를 회수된 요청 화상 개체에 부가하고, 상기 화상 개체 특정 디스크립터 정보는 상기 관련 화상 개체에 대해 행해진 변경을 반영하도록 변형되며, 상기 적어도 하나의 중간 연산 노드는, 적어도 하나의 국부적 조건 뿐만 아니라, 상기 요청자 특정 화상 디스플레이 능력 정보와 상기 개체 특정 디스크립터 정보의 검사에 응답하여, 상기 요청된 화상 개체의 상기 화상 개체 특정 디스크립터 정보가 상기 요청자 특정 화상 디스플레이 능력 정보에 완전히 또는 부분적으로 맞추어지도록 하기 위해서 상기 관련된 회수된 화상 개체를 완전히 또는 부분적으로 랜더링할지 또는 상기 관련 화상 개체를 전혀 랜더링하지 않을지의 여부에 대한 결정을 행하는 연산 노드가 결합되어 있는 데이터 네트워크.
  15. 제14항에 있어서, 상기 적어도 하나의 중간 연산 노드는 상기 화상 개체의 랜더링 후에, 랜더링 동작이나 상기 적어도 하나의 중간 연산 노드에 의해 실행된 동작의 결과를 나타내도록 상기 관련 화상 개체 특정 디스크립터 정보를 변형하는 연산 노드가 결합되어 있는 데이터 네트워크.
  16. 제14항에 있어서, 상기 데이터 네트워크는 인터넷으로 이루어지는 연산 노드가 결합되어 있는 데이터 네트워크.
  17. 제14항에 있어서, 상기 적어도 하나의 중간 연산 노드는 상기 화상 개체의 카피를 저장하기 위한 메모리를 포함하고, 상기 중간 연산 노드는 상기 저장된 카피를 상기 요청자에게 회수함으로써 상기 소스 연산 노드로서 기능할 수 있는 연산 노드가 결합되어 있는 데이터 네트워크.
  18. 제17항에 있어서, 상기 적어도 하나의 중간 연산 노드는 상기 요청자가 표시할 수 있다고 요청자 특정 화상 디스플레이 능력 정보가 나타낸 것 보다 덜 상세한 버전의 상기 요청자 화상 개체를 저장하고, 상기 적어도 하나의 중간 연산 노드는 상기 요청을 더 상세한 버전의 상기 요청된 화상 개체를 저장하는 다른 중간 연산 노드에 이송하고, 상기 다른 중간 연산 노드는 상기 적어도 하나의 국부적 조건 뿐만 아니라, 상기 요청자 특정 화상 디스플레이 능력 정보 및 상기 개체 특정 디스크립터 정보의 검사에 응답하여, 상기 저장된 화상 개체의 상기 화상 개체 특정 디스크립터 정보가 상기 요청자 특정 화상 디스플레이 능력 정보에 완전히 또는 부분적으로 맞추어지도록 하기 위해서 상기 저장된 화상 개체를 완전히 또는 부분적으로 랜더링할지 또는 상기 저장된 화상 개체를 전혀 랜더링하지 않을지의 여부에 대한 결정을 행하는 연산 노드가 결합되어 있는 데이터 네트워크.
  19. 제17항에 있어서, 상기 적어도 하나의 중간 연산 노드는 상기 요청자가 표시할 수 있다고 요청자 특정 화상 디스플레이 능력 정보가 나타낸 것 보다 더 상세한버전의 상기 요청자 화상 개체를 저장하고, 상기 적어도 하나의 중간 연산 노드는 상기 적어도 하나의 국부적 조건 뿐만 아니라, 상기 요청자 특정 화상 디스플레이 능력 정보 및 상기 개체 특정 디스크립터 정보의 조사에 응답하여, 상기 저장된 화상 개체의 상기 화상 개체 특정 디스크립터 정보가 상기 요청자 특정 화상 디스플레이 능력 정보에 완전히 또는 부분적으로 맞추어지도록 하기 위해서 상기 저장된 화상 개체를 완전히 또는 부분적으로 랜더링할지 또는 상기 저장된 화상 개체를 전혀 랜더링하지 않을지의 여부에 대한 결정을 행하는 연산 노드가 결합되어 있는 데이터 네트워크.
  20. 제14항에 있어서, 상기 적어도 하나의 중간 연산 노드는, 상기 요청자에게 회수되고 있는 요청된 화상 개체를 랜더링하고 있을 때, 상기 화상 개체를 전달하는 데에 필요한 데이터 네트워크 대역폭 크기를 감소시키기 위해서 상기 화상 개체를 랜더링하는 연산 노드가 결합되어 있는 데이터 네트워크.
  21. 제14항에 있어서, 상기 적어도 하나의 중간 연산 노드는, 상기 요청자에게 회수되고 있는 요청된 화상 개체를 랜더링하고 있을 때, 상기 적어도 하나의 중간 연산 노드와 상기 요청자 사이에 위치된 다른 중간 연산 노드에 대한 부하 언밸런스량을 감소시키기 위해서 상기 화상 개체를 랜더링하는 연산 노드가 결합되어 있는 데이터 네트워크.
  22. 제14항에 있어서, 상기 적어도 하나의 국부적 조건은 상기 중간 연산 노드의 랜더링 능력, 상기 중간 연산 노드의 전류 처리 부하 및 상기 요청자에게의 네트워크 딜레이양 중 적어도 하나로 이루어지는 연산 노드가 결합되어 있는 데이터 네트워크.
  23. 제14항에 있어서, 상기 적어도 하나의 중간 연산 노드는 화상 개체의 랜더링양을 복수의 단계로 더 분할하고, 상기 적어도 하나의 중간 연산 노드와 상기 요청자 사이에 위치된 적어도 하나의 다른 중간 연산 노드에 상기 단계들 중 적어도 한 단계를 할당하는 연산 노드가 결합되어 있는 데이터 네트워크.
  24. 제23항에 있어서, 상기 적어도 하나의 중간 연산 노드는 상기 데이터 네트워크를 통해서 상기 적어도 하나의 다른 중간 연산 노드에 전달된 랜더링 단계 할당 계획을 유도하고, 상기 적어도 하나의 다른 중간 연산 노드는 적어도 하나의 국부적 조건에 응답하여 상기 할당 계획을 변형할 수 있는 연산 노드가 결합되어 있는 데이터 네트워크.
  25. 제14항에 있어서, 상기 화상 개체 특정 디스크립터 정보는 적어도 상기 화상 개체의 컬러가 표현되는 방법과 상기 화상 개체의 크기를 특정하고, 상기 요청자 특정 화상 디스플레이 능력 정보는 적어도 표시될 수 있는 화상 개체의 최대 크기 뿐만 아니라 컬러를 표시하는 상기 요청자의 능력을 특정하는 연산 노드가 결합되어 있는 데이터 네트워크.
  26. 제14항에 있어서, 적어도 상기 요청자 특정 화상 디스플레이 능력 정보는 메타 정보로 표현되는 연산 노드가 결합되어 있는 데이터 네트워크.
  27. 제14항에 있어서, 적어도 상기 요청자 특정 화상 디스플레이 능력 정보는 인터넷 컨탠트 선택 포맷에 대한 플랫폼을 이용하여 표현되는 연산 노드가 결합되어 있는 데이터 네트워크.
  28. 개체를 소모하는 장치의 능력에 따라서 개체 처리를 선택적으로 실행할 수 있는 협력적 서버의 네트워크에 개별의 서버를 공급하기 위한 컴퓨터 판독 가능 매체 상에 구현된 컴퓨터 프로그램에 있어서,
    요청자에게 회수되고 있는 수신된 개체가 포함된 개체 특정 디스크립터 정보 뿐만 아니라, 상기 개체에 대한 요청이 포함된 요청자 특정 능력 정보에 응답하여, 상기 개체를 처리하지 않거나, 상기 개체가 개체를 소모하는 상기 요청자의 능력에 맞추도록 하기 위해서 상기 개체를 부분적으로 또는 전체적으로 처리하는 것 중 하나를 선택하는 코드 세그먼트를 포함하는 컴퓨터 프로그램.
  29. 협력적 연산 노드의 상호 접속 계층적 네트워크의 연산 노드 기기들 개별의 것이 개체를 소모하는 장치의 능력에 따라서 개체 처리를 실행하도록 하는, 방법의단계를 실행하기 위해서 상기 기기에 의해 실행 가능한 명령의 프로그램을 구현하는 기기에 의해 판독 가능한 프로그램 저장 매체에 있어서,
    상기 방법은 상기 개체에 대한 요청이 포함된 요청자 특정 능력 정보에 응답하고, 또한 상기 개체의 소스나 다른 연산 노드 기기로부터 수신되어진 상기 개체가 포함된 개체 특정 디스크립터 정보에 응답하여, 상기 개체가 개체를 소모하는 요청자의 능력에 맞추도록 하기 위해서 상기 개체를 부분적으로 또는 전체적으로 처리하는 프로그램 저장 매체.
KR1020000012689A 1999-03-29 2000-03-14 협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치 KR100322716B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/280,746 1999-03-29
US9/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

Publications (2)

Publication Number Publication Date
KR20000076843A KR20000076843A (ko) 2000-12-26
KR100322716B1 true KR100322716B1 (ko) 2002-02-07

Family

ID=23074449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000012689A KR100322716B1 (ko) 1999-03-29 2000-03-14 협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치

Country Status (10)

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

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298356B1 (en) * 1998-01-16 2001-10-02 Aspect Communications Corp. Methods and apparatus for enabling dynamic resource collaboration
US6256620B1 (en) * 1998-01-16 2001-07-03 Aspect Communications Method and apparatus for monitoring information access
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
US7043563B2 (en) * 2000-04-17 2006-05-09 Circadence Corporation Method and system for redirection to arbitrary front-ends in a communication system
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
WO2002025459A1 (fr) * 2000-09-20 2002-03-28 Sony Corporation Systeme et procede de distribution
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
WO2002063495A1 (en) * 2001-02-06 2002-08-15 Airclic, Inc. Device-independent content acquisition and presentation
US7200679B2 (en) * 2001-04-13 2007-04-03 Telefonaktiebolaget Lm Ericsson (Publ) Creating distributed proxy configurations
GB2374778B (en) 2001-04-20 2005-11-02 Discreet Logic Inc Processing image data
GB2374779B (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
WO2002101534A1 (en) 2001-06-12 2002-12-19 Idelix Software Inc. Graphical user interface with zoom for detail-in-context presentations
US9760235B2 (en) 2001-06-12 2017-09-12 Callahan Cellular L.L.C. Lens-defined adjustment of displays
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
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
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
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
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
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
CA2406047A1 (en) 2002-09-30 2004-03-30 Ali Solehdin A graphical user interface for digital media and network portals using detail-in-context lenses
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
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
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
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
US7580039B2 (en) 2004-03-31 2009-08-25 Adobe Systems Incorporated Glyph outline adjustment while rendering
US7719536B2 (en) * 2004-03-31 2010-05-18 Adobe Systems Incorporated Glyph adjustment in high resolution raster while rendering
US7639258B1 (en) 2004-03-31 2009-12-29 Adobe Systems Incorporated Winding order test for digital fonts
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
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
US7450129B2 (en) * 2005-04-29 2008-11-11 Nvidia Corporation Compression of streams of rendering commands
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
EP2165259A1 (en) 2007-10-20 2010-03-24 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
WO2010096683A1 (en) * 2009-02-20 2010-08-26 Citrix Systems, Inc. Systems and methods for intermediaries to compress data communicated via a remote display protocol
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
US9152441B2 (en) * 2012-02-20 2015-10-06 Virtustream Canada Holdings, Inc. Systems and methods involving virtual machine host isolation over a network via a federated downstream cluster
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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037487A1 (en) * 1997-02-18 1998-08-27 Truespectra Inc. Method and system for accessing and rendering an image for transmission over a network
KR19980085629A (ko) * 1997-05-29 1998-12-05 양승택 분산처리환경에서 네임서비스 접속방법
JPH1145199A (ja) * 1997-07-29 1999-02-16 Omron Corp 分散型情報配信装置及びその方法
KR19990031020A (ko) * 1997-10-08 1999-05-06 김덕중 단순 망 관리 프로토콜에 의한 망 관리 장치

Family Cites Families (12)

* 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
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037487A1 (en) * 1997-02-18 1998-08-27 Truespectra Inc. Method and system for accessing and rendering an image for transmission over a network
KR19980085629A (ko) * 1997-05-29 1998-12-05 양승택 분산처리환경에서 네임서비스 접속방법
JPH1145199A (ja) * 1997-07-29 1999-02-16 Omron Corp 分散型情報配信装置及びその方法
KR19990031020A (ko) * 1997-10-08 1999-05-06 김덕중 단순 망 관리 프로토콜에 의한 망 관리 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100322716B1 (ko) 협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치
US20220394087A1 (en) Web Service System and Method
US7426543B2 (en) Accessing data stored in multiple locations
US6222634B1 (en) Apparatus and method for printing related web pages
US6192398B1 (en) Remote/shared browser cache
US5715453A (en) Web server mechanism for processing function calls for dynamic data queries in a web page
JP3853592B2 (ja) 分散ウェブアプリケーションサーバ
US8548976B2 (en) Balancing load requests and failovers using a UDDI proxy
HU225072B1 (en) Server computer with load balancing and method of operating the server computer
US7487242B2 (en) Method and apparatus for server load sharing based on foreign port distribution
WO2004097668A1 (en) Accessing data based on user identity
US10178163B2 (en) Server-processor hybrid system for processing data
EP1623558B1 (en) Accessing data in a computer network
JP2000172657A (ja) 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
US8429673B2 (en) Systems and methods of accessing information across distributed computing components
US20080016194A1 (en) Dispatching request fragments from a response aggregating surrogate
CN109558378A (zh) 文件管理方法、装置、设备及存储介质
US7827141B2 (en) Dynamically sizing buffers to optimal size in network layers when supporting data transfers related to database applications
US7266622B2 (en) Method, computer program product, and system for automatic application buffering
US20080082473A1 (en) Peer based event conversion
US20050028162A1 (en) System, method and program product for maintaining session information during dynamic resource additions or updates
US20240195865A1 (en) Web Service System and Method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120106

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee