KR20000034960A - 브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치 - Google Patents

브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치 Download PDF

Info

Publication number
KR20000034960A
KR20000034960A KR1019990042239A KR19990042239A KR20000034960A KR 20000034960 A KR20000034960 A KR 20000034960A KR 1019990042239 A KR1019990042239 A KR 1019990042239A KR 19990042239 A KR19990042239 A KR 19990042239A KR 20000034960 A KR20000034960 A KR 20000034960A
Authority
KR
South Korea
Prior art keywords
proxy
transcoding
transcoded
image
client
Prior art date
Application number
KR1019990042239A
Other languages
English (en)
Other versions
KR100353172B1 (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 KR20000034960A publication Critical patent/KR20000034960A/ko
Application granted granted Critical
Publication of KR100353172B1 publication Critical patent/KR100353172B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

본 발명은 트랜스코딩의 이점을 증대시키기 위해 트랜스코딩 파라미터를 동적으로 조정하기 위한 방법, 장치 및 시스템을 제공한다. 적응 방법은 트랜스코딩된 이미지의 크기 및 네트워크 특성의 가변성에 대처하도록 설계된다. 본 발명은 또한, 각 이미지 및/또는 각 클라이언트에 근거하여 트랜스코딩 프로록시로 하여금 품질-크기 트레이드오프를 조정할 수 있도록 하기 위한 방법 및 장치를 제공한다. 적응형 트랜스코더는 각각의 객체에 대해 상이한 파라미터를 선택하고, 성능 개선을 제공한다. 본 발명은 또한, 이용가능한 대역폭, 이미지의 콘텐트 및 형태와 사용자 선택사항을 고려하여 정책을 결정하기 위한 범용 프레임워크를 제공한다. 본 발명은 또한, 사용자에게 최적의 트랜스코딩 파라미터의 선택에 관한 피드백을 발생하기 위한 방법을 포함한다.

Description

브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치{AUTOMATIC DATA QUALITY ADJUSTMENT TO REDUCE RESPONSE TIME IN BROWSING}
본 발명은 문서 내부에 삽입된 이미지 객체를 변환하는 브라우저 프록시(proxy)에 관한 것이다. 본 발명은 특히, MIME 캡슐화 객체 및 월드 와이드 웹을 처리하는 프록시 또는 게이트웨이 시스템에 관한 것이다.
트랜스코딩(transcoding) 프록시는 때때로, 다양하게 변화되는 특성을 가진 통신 링크를 통해 접속된 다양한 클라이언트 장치와 웹 서버 사이의 중재자(intermediary)로서 작용한다. 일반적으로, 트랜스코딩 프록시는 2개의 주요한 장점을 제공하는데, 즉, 저-대역폭 링크에 대한 다운로드 시간의 극적인 감소와 클라이언트 장치에 대한 웹 데이터의 테일러링(tailoring)을 제공한다.
이동(mobile) 장치는 종종 저-대역폭 무선 또는 중간 대역폭 유선 모뎀 링크에 접속되는데, 이 링크는 이미지와 같은 풍부한 웹 콘텐트를 볼 수 있도록 하지만, 다운로드 시간이 매우 길기 때문에 매우 번잡스럽다. 또한, 이러한 다운로드 비용은 요금이 정해진 광역 무선 네트워크를 통하는 경우에 너무 과중하게 될 수 있다. 트랜스코딩 웹 프록시는 그 의미론적 가치를 대부분 유지하면서 웹 데이터의 크기를 감소시킬 수 있다. 그 이해능력(intelligibility)을 상실하지 않고 대부분의 통상적인 웹 이미지에 대해 6-10배 정도의 다운로드 시간의 감소가 실현될 수 있다.
두 번째 중요한 장점은 이러한 중간 프록시가 때로는 현재 이용가능한 수많은 소형의 약하게 접속된, 웹-가능 이동 장치에 대해 텍스트 및 이미지를 테일러링할 수 있다는 것이다. 웹 콘텐트를 수신하고, 처리하고, 저장하고, 디스플레이하기 위한 이들 이동 장치의 능력은 크게 변화되고 있다. 다양한 클라이언트 장치가 주어지면, 인터넷 콘텐트 출판업자가 개개의 장치에 대해 콘텐트를 테일러링하기 어렵다. 결과적으로, 소형-스크린 장치의 해상도, 칼라-깊이 및 크기-제한조건을 최상으로 맞추기 위해 웹 콘텐트를 트랜스코딩/변경하고, 저장된 데이터의 크기를 그 원래 크기의 소부분으로 감소시키기 위해 액티브 웹 프록시가 사용된다.
통상적인 트랜스코딩 웹 프록시는 HTTP 프록시에 트랜스코딩 모듈을 추가함으로써 구현될 수 있다. 트랜스코딩 모듈은 입력으로서 데이터 객체(예, 이미지 또는 HTML 페이지)를 수취하여, 그것을 선택된 파라미터 셋트에 따라 저-해상도 객체(예, 저-품질 이미지 또는 집약된 HTML 페이지)로 변환하는 입출력 시스템이다. 이들 파라미터는 트랜스코더로 입력되고, 이것은 객체의 해상도 손실 및 크기 축소를 결정한다. 다음의 논의는 대부분 이미지 객체와 관련된 것이다.
트랜스코딩의 장점을 극대화하기 위해, 사용자에 의해 지정된 지연 허용오차 내에서 최상 품질의 이미지가 전송되도록, 품질 대 크기 사이의 트레이드오프(tradeoff)를 선택하는 것이 중요하다. 그러나, 적절한 트랜스코딩 파라미터 셋트를 선택하기가 어렵다. 먼저, 트랜스코딩을 통해 실현되는 압축 정도가 콘텐트에 의존하기 때문에, 트랜스코딩된 이미지의 크기를 추정하는 것이 어렵다. 예를 들어, 몇몇 JPEG 파일은 최대 80% 까지 압축될 수 있지만, 다른 것은 단지 5% 이하의 압축이 이루어질 수도 있다. GIF-GIF 또는 GIF-JPEG 변환이 적용되는 경우에는 변하지 않고 동일하다. 트랜스코딩은 컴퓨팅-집약적 프로세스이기 때문에, 고압축 비율이 실현될 수 있을 때에만 처리의 가치가 있다. 이미 만족스럽게 압축되어 있는(또는 저품질의) 이미지에 대한 트랜스코딩은 낭비적인 것이다.
트랜스코딩된 출력의 크기가 예측될 수 있을 때 조차도, 네트워크 가변성으로 인해 이미지 다운로드 시간을 예측하기가 어렵다. 사용자가 예측한 품질 및 대기시간이 최종적인 성능상의 척도가 되기 때문에, 품질 대 크기간의 트레이드오프에서 최적의 포인트를 선택하기 위해 다운로드 시간의 정확한 추정치가 필요로 된다. 인터넷과 같은 서비스 네트워크에 관해서는, 네트워크 특성(대역폭, 지연, 손실율)의 정확한 추정치를 계산하기 어렵다. 종종, 통계적인 추정치가 품질 조정을 하기에 의미가 없을 정도로 편차가 너무 크다.
다른 문제는 복잡한 태스크가 네트워크의 병목 위치에 있는지 정책적인 판단을 하는 것이다. 웹 서버와 프록시 사이의 경로가 병목 위치에 있으면, 트랜스코딩은 전혀 도움이 안된다. 반대로, 연산의 저장 및 전송 특성으로 인해 사태를 더 악화시킨다. 이상적으로는, 웹 프록시는 서버-프록시 경로가 병목위치에 있을 때마다, 웹 서버로부터 클라이언트로 이미지를 스트리밍해야 한다. 프록시-클라이언트 경로가 병목위치에 있는 경우에도, 크기 축소로 인한 장점은 트랜스코딩으로 인해 초래되는 저장 및 전송 지연에 대하여 비교검토되어야 한다.
네트워크 특성 및 이미지 콘텐트를 추정하는데 있어서의 어려움으로 인해, 트랜스코딩 프록시는 종종 매우 조잡한(coarse) 레벨에서의 적응(adaptation)만을 지원할 수 있다. 적응은 통상적으로 사전정의된 디폴트 셋트로부터 선택되거나 또는 사용자에 의해 선택되는 트랜스코딩 파라미터를 변경하는 것을 포함한다. 이들 접근방법에 있어서의 문제점은 트랜스코딩의 전적인 가능성(full potential)이 이용되지 않는다는 것이다. 사전정의된 정적인 정책은 네트워크 대역폭에서의 변화에 적절하게 반응하지 못하며, 사용자가 선택가능한 정책 판단은 네트워크의 상태에 관한 지식의 결여로 인해 국부적인 최적화가 되기 쉽다. 네트워크와 프록시의 조합된 상태에 관해 사용자에게 피드백을 제공하는 방법은 존재하지 않는다. 반복적인 개선절차를 이용하면, 사용자는 트랜스코딩 파라미터의 최적의 선택으로 수렴할 수 있지만, 이러한 프로세스는 시간소비적인 것이며 사용자가 좋아하는 것이 아니다.
도1은 다양한 링크 및 다양한 클라이언트 장치가 있는 예시적인 트랜스코딩 프록시 시나리오(100)를 도시하고 있다. 도1에 도시된 바와 같이, 웹 요구 및 클라이언트(130-134)에 대한 응답이 전부 일반적인 HTTP(HyperText Transfer Protocol)프록시(190)를 통해 전달되는 예시적인 시나리오를 고려해 보자. 도1의 예에서는, 클라이언트(130-134)가 경험하는 엔드-투-엔드 응답시간에서의 지연의 주요 원인이 되는 프록시로부터 클라이언트까지의 마지막 링크(160-164)를 통해 많은 데이터 객체, 주로 이미지의 다운로딩이 이루어진다.
트랜스코딩 프록시(190)는 링크를 공유하는 클라이언트의 수에 따라 10 kb/s 또는 그 이하의 처리량을 제공하는 CDPD(Cellular Digital Packet Data)(163)와 같은 저속 광역 무선 링크를 통한 실시간 브라우징을 가능하게 하기 위해 웹 데이터의 대규모 데이터 축소를 제공한다. 최종 클라이언트는 양호한 칼라 디스플레이를 구비한 전기능 PC(134)가 될 수 있으며, 이 경우에 기본적인 문제는 대역폭 감소가 된다. 이와 달리, 클라이언트는 소형의 웹-가능 이동장치(130-132)가 될 수도 있으며, 이 경우에, 특정 클라이언트 장치, 특히, 클라이언트의 디스플레이 특성에 대해 웹 데이터를 테이러링하는 것이 유익하다. 트랜스코딩 프록시 설계의 상이한 양태는 상이한 시나리오(즉, 요금이 정해진(tariffed) 프록시-클라이언트 링크, 강력한/열등한 클라이언트 디스플레이, 등)에 각각 유익하지만, 이들 모두 동일한 프록시 아키텍처(100) 내에서 양호하게 처리된다.
도2는 사용자-지정 선택사항(preferences) 및 정적인 정책에 근거하여 객체를 변환하기 위해 이용되는 트랜스코딩 프록시(190)의 일시시예의 블록도이다. 이 트랜스코딩 프록시(190)는 트랜스코딩 모듈(240)을 HTTP 프록시 엔진(220)과 조합시켜 구축된다. HTTP 요구(222)는 클라이언트(230)로부터 발생되며, 프록시(190)에 의해 웹 서버(210)로 전송된다. 응답 데이터(226)(예, HTML 페이지, GIF 및 JPEG 이미지)는 트랜스코더(240)에 의해 변환되어, 클라이언트(230)로 전송된다. 통상적으로, 응답 데이터(226)에 포함된 객체의 원하는 품질/크기축소를 실현하기 위해 다수의 트랜스코딩 파라미터가 트랜스코더(240)로 지정된다.
오늘날 사용되고 있는 트랜스코딩 프록시는 트랜스코딩 파라미터를 결정하기 위해 경로(265)를 통해 소정 양식의 사용자-지정 선택사항(260)을 이용하거나 또는 일련의 정적인 정책(250)을 이용한다. 일정한 트랜스코딩 파라미터 셋트가 모든 객체에 적용되는 경우에, 그 결과가 항상 유익한 것은 아니다. 사실상, 많은 경우에 트랜스코딩으로 인해 성능이 더욱 열악해진다.
본 발명의 한 목적은 트랜스코딩의 이점을 증대시키기 위해 트랜스코딩 파라미터를 동적으로 조정하기 위한 방법, 장치 및 시스템을 제공하는 것이다. 적응 방법은 네트워크 특성 및 트랜스코딩된 이미지 크기의 가변성에 대처하도록 설계된다.
일실시예에서, 본 발명은 3개의 새로운 구성요소, 즉, 이미지 크기 예측기, 네트워크 대역폭(b/w) 분석기 및 정책(policy) 모듈을 포함한다. 트랜스코딩 동작을 개시하기 전에, 정책 모듈은 출력 이미지의 크기를 추정하기 위해 이미지 크기 예측기에 질의한다. 대역폭 분석기에는 서버로부터 프록시까지 그리고 프록시로부터 클라이언트까지의 이미지 전송 시간의 추정치를 수집하기 위해 질의한다. 이러한 수집된 추정치에 근거하여, 프록시는 이미지를 트랜스코딩할 것인지 여부를 결정한다. 또한, 정책 모듈은 품질 대 크기 사이의 트레이드오프에서 최적의 포인트를 계산할 수 있으며, 이것은 사용자-지정 성능 기준(예, 응답시간 감소, 품질 증대)을 제공하게 된다.
본 발명의 다른 목적은 각 이미지 및/또는 각 클라이언트에 근거하여 트랜스코딩 프로록시로 하여금 품질-크기 트레이드오프를 조정할 수 있도록 하기 위한 방법 및 장치를 제공한다. 적응형 트랜스코더는 각각의 객체에 대해 상이한 파라미터를 선택하고, 성능 개선을 제공한다.
본 발명의 또다른 목적은 이용가능한 대역폭, 이미지의 콘텐트 및 형태와 사용자 선택사항(preferences)을 고려하여 정책을 결정하기 위한 범용 프레임워크를 제공한다. 프록시의 관리자는 시스템으로부터 개선된 성능을 얻기 위해 다양한 최적화 목표로부터 선택한다. 일실시예에서, 프록시 트랜스코딩 처리량이 병목인 경우에, 정책 모듈은 모든 사용자에 대한 응답 시간을 감소시키기 위해 CPU 자원을 합리적으로 이용하도록 명령받는다. 본 발명의 유익한 요소는 프록시의 정책 엔진을 능동적으로 제어하는 것으로부터 사용자를 해방시키기 위해 자동적으로 정책 결정을 한다는 특성이다.
본 발명의 또다른 목적은 사용자에게 최적의 트랜스코딩 파라미터의 선택에 관한 피드백을 발생하기 위한 방법을 제공하는 것이다. 일실시예에서, 트랜스코딩 시스템은 사용자 선택사항 슬라이드바(slider bar)의 위치를 동적으로 조정함으로써 사용자에게 피드백을 제공한다. 사용자 선택사항 슬라이드바는 출력장치로서 뿐만 아니라 입력으로서도 작용한다.
도1은 다양한 링크 및 다양한 클라이언트 장치가 있는 예시적인 트랜스코딩 프록시 시나리오를 도시한 도면.
도2는 사용자-지정 선택사항 및 정적인 정책에 근거하여 객체를 변환하기 위해 이용되는 트랜스코딩 프록시의 블록도.
도3은 본 발명에 따라, 이미지 크기 예측기, 대역폭 추정기, 동적 정책 모듈 및 사용자 피드백 발생기를 포함하도록 변경된 트랜스코딩 프록시의 일례의 블록도.
도4는 본 발명에 따라 캐싱 및 트랜스코딩 모듈을 구비한 예시적인 HTTP 프록시의 블록도.
도5는 본 발명에 따른 트랜스코딩 동적 정책 모듈의 예시적인 흐름도.
도6은 본 발명에 따른 트랜스코딩 프록시를 이용한 예시적인 웹 요구-응답 사이클을 도시한 도면.
도7은 본 발명에 따라 트랜스코딩이 유용한 경우를 예시한 도면.
도8은 본 발명에 따른 예시적인 정책 함수의 흐름도.
도9는 본 발명에 따른 예시적인 이미지 크기 예측 모듈의 블록도.
도10은 본 발명에 따른 예시적인 대역폭 예측 모듈의 블록도.
도11은 본 발명에 따른 입력/피드백 사용자 인터페이스를 도시한 도면.
도12는 본 발명에 따른 스트리밍 트랜스코딩의 예시적인 타이밍도.
* 도면의 주요 부분에 대한 부호의 설명
210:서버 220:HTTP 프록시 엔진
230:클라이언트 260:사용자 선택사항
370:동적 정책 모듈 375:이미지 크기 및 지연 예측기
380:대역폭 추정기 390:사용자 피드백 공급자
본 발명의 상기 및 다른 목적, 특징 및 장점은 첨부도면과 함께하는 다음의 상세한 설명을 고찰함으로써 명백해질 것이다.
도3은 본 발명에 따른 트랜스코딩 프록시(190)에 대한 변경의 일례를 도시하는 블록도(300)이다. 도3을 도2와 비교해 보면, 도2의 정적 정책 모듈(static policy module)(250)이 도3에서는 동적 정책 모듈(dynamic policy module)(370)로 대체되었다는 것을 알 수 있다. 동적 정책 모듈(370)의 목적은 언제 트랜스코딩을 턴온 및 턴오프할 것인지 또한 어떤 트랜스코딩 정책(예, 그 파라미터와 함께 트랜스코딩 알고리즘)을 이용할 것인지에 관한 결정을 하기 위한 것이다. 동적 정책 모듈(370)은 또한, 이미지 크기 및 지연 예측기(predictor)(375), 대역폭 추정기(estimator)(380), 및 사용자 피드백 공급자(provider)(390)와 인터페이스한다. 도시된 실시예에서, 정책 모듈(370)은 다음과 같은 다수의 기준(criteria)을 이용한다.
* 콘텐트 분석 흐름도(도5)에 의해 결정되는 바와 같은 데이터의 특성(예, 이미지의 크기, 현재의 인코딩 효율, HTML 페이지에서의 구조적 역할(role)).
* 프록시-클라이언트 및 서버-프록시 링크 상에서의 대역폭의 현재 추정치(도10에 도시됨).
* 클라이언트의 특성, 특히, 클라이언트의 디스플레이 성능.
* 데이터의 바람직한 렌더링(rendering)에 관한 사용자 선택사항(도11에 사용자 슬라이드바 선택사항으로 도시됨).
다음에는 도5, 도10 및 도11에 도시된 내용에 대해 설명한다. 특히, 도11의 사용자 슬라이드바 선택사항은 이미지 품질과 다운로드 시간 사이의 트레이드오프를 동적으로 변경하기 위해 트랜스코딩 프록시와 대화하는 방법을 제공한다. 슬라이드바(도11의 1140,1150,1160)는 입력 인터페이스로서 작용할 뿐만 아니라, 또한 동적 정책 모듈(370)로부터 수신되는 피드백(390)을 디스플레이하는 출력 인터페이스로서도 작용한다.
도4는 본 발명에 따른 트랜스코딩 HTTP 프록시 시스템(400) 내의 다중해상도 캐시(multi-resolution cache)(410)의 예시적인 기능을 도시한 블록도. 캐시는 동일한 데이터 객체에 대한 (동일한 또는 상이한 클라이언트에 의한) 반복되는 데이터 요구에 대해 감소된 응답시간을 제공하기 위해 HTTP 프록시에 유용하다. 캐싱된 데이터가 최신의 것이 되도록 보장하기 위해 다양한 방법이 이용될 수 있다. 예시적인 캐싱 트랜스코딩 시스템(400)에서, 다중해상도 캐시(410)는 데이터의 원래의 버전 뿐만 아니라, 특정 장치 형태를 위해 트랜스코딩된 감소된 해상도 버전을 포함하여, 다른 가능한 형태의 데이터도 저장한다. 일례로서, 이미지 데이터 객체의 경우를 고려해 보자. 이 기술분야에 통상의 지식을 가진자는 이들 방법이 다른 데이터 형태에도 적용될 수 있다는 것을 이해할 것이다. 캐싱 트랜스코딩 프록시 시스템과 관련하여 다양한 형태의 데이터를 저장하고, 태깅(tagging)하고, 검색하기 위한 방법을 설명한다.
도4를 참조하면, 클라이언트(230)에 의한 요구에 응답하여 서버(210)로부터 JPEG 이미지가 수신되는 것으로 가정한다. 이 이미지는 손실(lossy) JPEG 인코딩 포맷으로부터 이미지의 비트-맵 표기로 디코딩된다. 이미지 처리 기술분야에 통상의 지식을 가진자는 JPEG 인코딩 표준은 이산 코사인 변환(Discrete Cosine Transforms)에 가중치를 부여하는 계수를 이용하여 이미지를 묘사하며, 따라서, 각 픽셀의 실제 칼라를 얻기 위해서는 일반적으로 컴퓨팅-집약적인 디코딩 단계가 요구된다는 것을 인식할 것이다. 이러한 비트-맵은 원래의 JPEG 이미지보다 큰 크기의 저장 공간을 필요로 한다. 그러나, 적절한 크기의 캐시는 동일한 이미지의 트랜스코딩된 버전이 나중에 필요로 되고, 그것이 첫 번째 요구와는 다른 트랜스코딩 파라미터를 가진 경우에 JPEG 디코딩의 컴퓨팅-집약적인 단계를 피하기 위해 이러한 확장된 크기의 이미지를 (데이터 경로 420를 통해) 저장하는데 있어 가치가 있을 수도 있다. 두 번째 단계로, 트랜스코딩 파라미터(예, 칼라 깊이, 스케일링 계수 및 JPEG 품질 계수)에 근거하여, JPEG 이미지가 재인코딩된다. 이미지는 JPEG 이미지 또는 다른 인코딩 포맷으로 재인코딩될 수 있다. 이미지의 최종 트랜스코딩된 버전도 역시 데이터 경로(420)를 통해 다중해상도 캐시(410)에 저장된다.
이 실시예에서, 추가적인 데이터 요구가 발생하면, HTTP 프록시(220)는 먼저, 요구한 해상도 또는 트랜스코딩 레벨에서 데이터 객체의 최신(up-tp-date) 버전이 이용가능한지 알기 위해 그 캐시(410)를 검사한다. 다중해상도 캐시(410) 내의 각각의 객체는 URL 기술문(description), 데이터 객체에 대한 타임 스탬프 및 객체 특성을 포함하는 버전 명시자(specifier)와 함께 저장된다. JPEG 이미지에 있어서, 객체 특성은 칼라 깊이, 스케일링 계수 및 JPEG 품질 계수를 포함한다. 다른 실시예는 JPEG 이미지가 그 비트-맵 형태로 디코드 및 저장되었거나 또는 다양한 특성을 가진 GIF로 변환되어 저장되었다는 것을 나타내는 표시를 포함한다.
만일 요구한 형태 및 해상도에서 객체의 최신 버전이 이용가능하면, 그 버전이 클라이언트로 리턴된다. 만일 최신 버전이 이용가능하지 않지만, 그 원래의 JPEG 형태나 또는 디코딩된 비트-맵 형태에 객체의 최신 버전이 존재하면, 그 버전이 그 특성 표시와 함께 트랜스코더(240)로 리턴된다. 이렇게함으로써, 트랜스코더(240)는 객체의 원하는 버전을 발생할 수 있으며, 이 원하는 버전은 클라이언트(230)로 리턴되어, 데이터 경로(420)를 통해 다중해상도 캐시(410)에 저장된다.
이 기술분야에 통상의 지식을 가진 자에게는 이러한 방식의 몇가지 부연방식도 자명하다는 것을 주목하자. 한가지 부연방식은 객체의 해상도가 더욱 감소된 버전을 생성하기 위해 원래의 데이터 객체가 아니고 이미 트랜스코딩된 객체 버전을 이용하는 것이다. R.O. LaMaire 및 J.T. Robinson에 의해 1998년 2월 13일자로 출원된 "Conserving Storage Space by Means of Low Resolution Objects"란 명칭의 미국특허출원 제60/102,944호에는 캐시에서 데이터 객체의 상이한 해상도 버전을 관리하기 위한 방법이 기술되어 있다.
도5는 도3 및 도4의 동적 정책 모듈(370)에 대한 예시적인 흐름도가 도시되어 있다. 도5는 또한, 이 정책 모듈(370)이 도3의 HTTP 프록시 엔진(220) 및 객체 트랜스코더(240)와 어떻게 인터페이스하는지를 보여주고 있다. 후술되는 방법은 텍스트, 이미지, 오디오 및 비디오를 포함하여 많은 콘텐트 형태에 적용된다. 그러나, 다음의 논의는 이미지 데이터 형태에만 초점이 맞추어진다. 이 기술분야에 통상의 지식을 가진 자에게는, 이러한 개념 및 동적 정책이 다른 미디어 형태에도 적용될 수 있다는 것은 자명하다.
도5를 참조하면, 서버(210)로부터 수신되는 응답 헤더(response header)에 근거하여, HTTP 프록시 엔진(200)은 먼저 객체의 크기를 판단한다(단계 510). 만일 응답의 콘텐트 형태가 "image/*"(이미지)이면(단계 520), 프록시 엔진(220)은 다른 분석을 위해 그 객체에 대한 처리를 동적 장책 모듈(370)로 이관한다. 정책 모듈(370)에서는, 입력 객체의 크기를 "size_threshold"(크기 임계치)로 불리는 미리 구성된 임계치와 비교한다(단계 530). 만일 객체 크기가 임계치보다 작고 객체 형태가 이미지가 아니면(단계 520), 그 객체는 트랜스코딩되지 않고, 그 대신에 어떠한 콘텐트 변형도 없이 클라이언트로 전송된다(단계 515). 웹에서 발견되는 소형 객체(예, bullets, thumbnails, logos 등)는 통상적으로 GIF 객체이며, 이것은 이미 GIF 인코딩으로 인해 양호하게 압축된 것이다. 일반적으로, 이러한 객체를 트랜스코딩하는 것은 더 이상 압축을 산출하지 못한다.
여기서는, GIF 이미지를 크기 및/또는 칼라 깊이가 축소된 GIF 또는 JPEG 이미지로 변환한다(최종 포맷으로서 GIF 또는 JPEG를 선택하는 것은 이미지 특성에 의존한다). 또한, JPEG 이미지를 JPEG 품질, 크기 및/또는 칼라 깊이가 축소된 JPEG 이미지로 변환한다. JPEG 품질은 JPEG 인코딩 표준에 사용되는 이산 코사인 변환의 계수가 양자화되는 정도를 결정하기 위해 사용되는 트랜스코딩 파라미터를 말한다. JPEG 품질 파라미터도 역시 감지되는(perceived) 이미지 품질의 양호한 예측기가 되는 것으로 알려졌다. 이 파라미터는 1-100의 범위에서 변화되며, 여기서, 100은 매우 높은 품질을 나타낸다. 웹에서 발견되는 JPEG 이미지는 통상적으로 75의 JPEG 품질 파라미터를 갖는다.
대형 이미지에 있어서, 이미지 코딩의 형태(GIF 또는 JPEG)와 코딩의 효율은 트랜스코딩을 결정하는데 있어 중요한 요소이다. JPEG는 손실 압축 방법이기 때문에, 품질 계수를 감소시킴으로써 항상 크기 축소가 가능하다. 그러나, GIF는 무손실 압축 방법이기 때문에, GIF 파일에는 품질 감소가 적용될 수 없다. 품질 감소를 실현하기 위해서, GIF 파일은 먼저 디코딩되어야 하며, 그 다음에 품질-감소 JPEG 이미지로서 재인코딩되어야 한다. 그러나, 이러한 방법이 항상 크기 축소를 제공하는 것은 아니다. GIF 포맷은 맵, 로고 및 그림을 코딩하는데 더욱 효율적이지만, 자연적인 이미지를 코딩하는데 있어서는 JPEG가 더욱 효율적이다. GIF를 JPEG로 변환하는 것은 원래의 GIF 이미지가 효율적으로 코딩되지 않는 경우에만 유용하다.
1픽셀당 비트수(bpp)를 압축 효율의 척도로서 정의하자. bpp는 픽셀에서의 이미지 영역에 대한 이미지 파일 크기의 비율로서 계산된다. 단계(540)를 처리하는데 있어, 입력 이미지의 X,Y 치수와 bpp 값은 이미지 헤더를 분석(parsing)함으로써 계산된다. 만일 입력 객체가 "image/jpg"의 형태로 되어 있으면(단계 540), 항상 트랜스코딩이 수행된다. 그러나, 만일 콘텐트 형태가 "image/gif"라면(단계 525), bpp 비율이 "gif_threshold"(GIF-임계치) 보다 큰 객체들만이 트랜스코딩된다(단계 535). 매우 효율적으로 인코딩되지 않는 GIF 파일은 GIF-임계치 보다 큰 bpp값을 산출한다. 그러므로, 이 판단 단계(535)는 높은 정확도를 갖고 압축가능한 GIF 파일을 식별하는데 있어 매우 효과적이다. 도3에 도시되지는 않았지만, 이 기술분야에 통상의 지식을 가진 자에게는, (점진적으로 인코딩되는 데이터에 대한) 스케일링 및 파일 절단(truncation)과 같은 다른 트랜스코딩 정책도 양호하게 압축된 GIF에 대해 사용될 수 있다는 것은 자명하다.
본 발명의 중요한 관점은 이미지 헤더가 수신되는 즉시 판단 단계(510-565)가 수행된다는 것이다. 만일 트랜스코딩을 하지 않는 것으로 판단이 이루어지면, 이미지 세그먼트들은 저장 및 전송 지연을 초래하지 않고 그것이 서버로부터 수신되는 즉시 전송될 수 있다. 이와 유사하게, 트랜스코딩이 수행되는 경우에, 이미지는 버퍼링되어 트랜스코딩되거나(저장 및 전송 트랜스코딩), 또는 진행중에(on-the-fly) 트랜스코딩될 수 있다(스트리밍 트랜스코딩 방법).
압축가능한 이미지를 식별한 이후에, 그 다음 단계는 선택된 이미지가 트랜스코딩되어야 하는 한도(extent)를 결정하는 단계를 수반한다. 정책 펑션(function)(565)은 3개의 상이한 소스(이미지 크기 예측기(375), 대역폭 추정기(380), 사용자 선택사항 선택기(260))로부터 입력을 수집하고, 계속해서 도8에 도시된 단계들에 따라 트랜스코딩 파라미터를 선택할 책임이 있다. 선택된 파라미터는 객체 트랜스코더(240)에 의해 수행되는 압축의 한도 및 형태를 결정한다. 예를 들어, 스케일링 파라미터는 이미지가 얼마나 다운샘플링(downsampled)될 것인지를 결정하고, 양자화 파라미터는 이미지가 픽셀 도메인 및/또는 주파수 도메인에서 어떻게 양자화될 것인지를 제어한다. 칼라 맵핑된 이미지에서 칼라의 수는 감소될 수 있으며, 또는 24-비트 칼라 이미지가 8-비트 그레이스케일(grayscale)로 변환되거나 단색 표기로도 변환될 수 있다. 트랜스코딩 프로세스는 단계(570)에서 수행되며, 트랜스코더의 출력은 클라이언트(230)로 전송된다.
정책 펑션(565)의 중요한 관점은 트랜스코딩 결정을 위한 분석적(analytical) 프레임워크이다. 분석적 프레임워크는 이용가능한 대역폭, 이미지의 형태 및 크기, 사용자 선택사항과 같은 요소들을 고려하며, 트랜스코딩 결정을 위한 객관적인 기준을 제공한다. 일례로서, 사용자에 대한 응답시간을 최소화하기 위한 목적을 고려해 보자. 이 기술분야에 통상의 지식을 가진 자는 동일한 프레임워크를 이용하여 다른 최적화 기준이 적용될 수 있다는 것을 이해할 것이다. 트랜스코딩이 유익한 경우와 어떤 한도의 트랜스코딩이 적용되어야 하는지 판단하기 위한 방법을 설명한다. 여기서 설명되는 실시예는 트랜스코딩 파라미터의 동적 적응으로서 불린다.
도6은 저장-전송(store-and-forward) 트랜스코딩 프록시(190)를 통해 크기S의 객체를 페치(fetch)하는 응답시간 및 웹 요구-응답 사이클의 예를 도시하고 있다. 이미지에 대해 트랜스코딩이 시작되기 전에 전체 입력 이미지가 축적되기를 대기해야 하고 출력되기 전에 그 전부가 트랜스코딩된 이미지가 생성되기를 대기해야 하는 이미지 트랜스코더로서 저장-전송 이미지 트랜스코더를 정의하자. 도6에 도시된 바와 같이, 크기S(바이트)(670)의 원래의 이미지(620)는 유효 대역폭 Bsp(bits/sec)을 가진 서버-프록시 접속을 통해 저장-전송 프록시로 다운로드된다. 트랜스코더는 지연 Dx(S)(650)을 도입하고, 크기 Sx(S)(680)의 출력 이미지(630)를 생성한다. 트랜스코딩 지연(650)과 출력 이미지의 바이트 크기(680)는 모두 입력 이미지의 바이트 크기 S(670)에 의존적이다. 트랜스코딩된 이미지는 유효 대역폭 Bpc를 가진 프록시-클라이언트 접속을 통해 전송된다.
정책 펑션은 트랜스코딩에 의해 실현되는 크기 축소에 대하여 트랜스코딩의 대가(지연)를 비교검토할 필요가 있다. 트랜스코딩이 이점을 제공하기 위해서는, 트랜스코딩으로 인해 도입되는 지연이 압축으로 인한 전송 시간의 감소에 의해 상쇄되어야 한다. 매우 낮은 대역폭의 프록시-클라이언트 억세스 링크에 있어서는, 적극적인 이미지 압축으로 인한 응답시간의 감소가 통상적으로 컴퓨팅-집약적인 트랜스코딩에 의해 야기되는 응답시간에의 추가를 능가한다. 그러나, 도7을 보면, 프록시-클라이언트 링크의 대역폭이 증가함에 따라, 트랜스코딩하는 것이 더 이상 유익하지 않게 되는 포인트(트랜스코딩 임계치 710)에 이르게 되는데, 그 이유는 적극적인 압축으로 인한 응답시간의 감소는 병목 링크의 대역폭의 함수로서 감소되지만, 트랜스코딩 시간은 일정하게 유지되기 때문이다.
트랜스코딩이 턴오프된 상태에서 웹 서버로부터 크기S의 웹 객체를 페치하는 응답시간을 Ro라고 하자. 마찬가지로, 트랜스코딩 프록시를 통해 동일한 웹 객체의 트랜스코딩된 버전을 페치하는 응답시간을 Rp라고 정의하자. 다음의 논의 목적상, 프록시에서 캐싱은 지원되지 않는 것으로 가정하자.
트랜스코딩이 턴오프된 상태의 클라이언트 감지 응답 시간은 다음 3개 항의 합계가 된다. RTTpc는 클라이언트와 프록시 사이의 네트워크 일주 대기시간이고, RTTsp는 프록시와 서버 사이의 대기시간이다. 웹 객체를 페치하려면, HTTP 요구/응답 뿐만 아니라 TCP SYN/ACK 교환이 필요하며, 따라서, 2*RTTpc + 2*RTTsp가 지연기간에 더해진다. 또한, 웹 이미지는 그 첫 번째 비트의 도착과 마지막 비트의 도착 사이의 시간 범위와 동일한 전송 지연을 초래한다. min(Bpc,Bsp)를 클라이언트와 서버 사이의 병목 대역폭이라고 하자. 프록시가 없는 경우에, 이미지의 첫 번째 비트와 마지막 비트는 시간적으로 차이가 있게 되며, 이 시간범위는 연쇄된 서버-프록시-클라이언트 접속을 통한 이미지의 유효 전송 시간에 대응한다.
트랜스코딩이 턴온되면, 프록시는 저장-전송 모드로 동작한다. 2*RTTpc + 2*RTTsp는 역시 응답시간의 고정 요소가 된다. Dp(S)는 트랜스코딩 지연을 나타내는 추가적인 기간이다. 결과적으로, 트랜스 코딩은 Rp<Ro인 경우에 응답시간을 감소시키게 된다. Bpc>Bsp 이면, Rp는 항상 Ro 보다 크다. 한편, Bpc<Bsp 이면, 트랜스코딩은 특정 경우에만 유용하다.
전술한 방정식은 트랜스코딩이 응답시간을 감소시키는 체제를 정확하게 특징지운다. 도8은 전술한 분석적 프레임워크를 이용하여 구성된 예시적인 정책 펑션의 흐름도이다. 도면부호 810은 정책 기능의 입구점을 나타낸다. 정책 펑션(800)은 정책 펑션으로의 입력중 하나로서 원래의 이미지 객체 크기를 갖는 펑션(565)로부터 호출된다. 변수 S는 입력 객체 크기와 동일하게 설정되며, 품질 계수 q는 최상의 가능한 초기 이미지 품질(예, 입력 이미지의 품질)로 초기화된다. 단계(830)에서, 정책 펑션(800)은 지정된 서버로부터 프록시까지의 객체 크기 S의 추정 다운로드 시간(T1(S)로 언급됨)을 묻는 질의를 대역폭 추정기(380)로 발생한다. 또한, 프록시로부터 클라이언트까지의 동일한 객체에 대한 다운로드 시간의 추정치(T2(S))로 엄급됨)를 질의한다. 선택된 목적지로의 이전의 접속의 로그(logs)에 근거하여, 대역폭 추정기는 T1(S) 및 T2(S)의 추정치를 리턴한다. 다음 단계(840)에서, 정책 펑션은 트랜스코딩된 이미지 크기 Sp(S)의 추정치를 알기 위해 이미지 크기 및 지연 예측기(375)에 질의한다. 다음에는, T2(S)로부터 트랜스코딩된 이미지 크기의 다운로드 시간 추정치 T2(Sp(S))를 감산함으로써 추정되는 다운로드 절약시간을 계산한다(단계 850). 마지막으로, 단계(870)에서, 2개의 기간(트랜스코딩 지연 + T1(S) - 다운로드 절약시간)과 목표 응답시간 감소를 비교한다. 첫 번째 항이 두 번째 항 보다 작으면, 계산은 중단되고, 선택된 품질 계수 q가 출력으로서 리턴된다(단계 880). 그렇지 않은 경우에는, q값을 감소시켜 루프(840-870)를 반복한다.
이 기술분야에 통상의 지식을 가진 자는, 본 발명에 제시된 정책 펑션 프레임워크의 사상을 벗어나지 않고, 객관적인 펑션의 변형 및 보다 효율적인 검색 기술을 설계할 수 있다는 것을 주목하자. 한가지 부연방식은 정책 방정식의 항들을 다음과 같이 재배열하는 것이다.
응답시간 감소(q) = {S - Sp(S)}/Bpc - Dp(S) - S/Bsp
전술한 방정식에서, Sp(S)는 품질 계수의 함수이다(출력 크기가 작을수록 품질은 더욱 열악해 진다). 트랜스코딩 지연은 품질 계수와 사실상 무관한 것으로 발견되었다는 것을 주목하자. 전술한 방정식에는 2개의 독립적인 변수, 즉, 품질 계수 q와 목표 응답시간 감소분이 있다. 전술한 방정식의 프레임워크 내에서 수개의 다른 정책이 개발될 수 있다. 예를 들어, 모든 사용자에 대해 응답시간을 최소화하는 방식; 사용자-지정 응답시간 제한조건에 대한 품질을 최소화하는 방식; 단지 한 사용자가 아니라, 전체 시스템 성능을 최적화하는 방식 등이 있다.
트랜스코딩은 컴퓨팅-집약적인 태스크이며 프록시는 단지 제한된 CPU 능력만을 갖고 있기 때문에, 전체 사용자 만족도를 최대화하는 일련의 태스크에 대해 프록시의 CPU 사이클이 가장 많이 소비된다. 최대 이용 기간 동안에, 만일 모든 사용자가 트랜스코딩을 턴온시키면, 모든 트랜스코딩 요구를 충족시키기 위해 이용가능한 CPU 사이클이 충분하지 않을 수도 있다. 파라미터 선택의 책임을 정책 펑션(800)에 위임함으로써, 시스템은 최적의 트랜스코딩 파라미터를 자동적으로 선택하고, 최종 사용자에게 일관되고 예측가능한 응답을 제공할 수 있다. 만일 사용자가 이들 파라미터를 독립적으로 선택하였다면, 트랜스코딩 시스템은 최적의 성능 레벨에서 동작할 수 없게 된다.
이제, 트랜스코딩 지연 및 크기 추정에 대해 고려해 보자. 판단 단계(870)는 2개의 추가적인 입력을 필요로 하는데, 즉, 트랜스코딩된 이미지의 크기의 추정치 Sp(S)와 트랜스코딩 프로세스 동안에 초래되는 트랜스코딩 지연값 Dp(S)을 필요로 한다. 이들 2개의 수량을 정확하게 예측하기 어려운데, 그 이유는 이들이 이미지 콘텐트, 사용되는 코딩의 형태, 원래의 품질 계수, 프로세서 속도, 및 프록시의 부하에 의존하기 때문이다. 대역폭 추정기에 대한 경우에서 처럼, 본 발명은 이들 2개의 수량을 추정하기 위해 통학적 방법을 이용한다.
도9는 본 발명에 따른 이미지 크기 예측 모듈의 일례의 블록도이다. 도면부호 910에 도시된 바와 같이, 이미지의 큰 벤치마크 셋트에 근거한 통계학적 특성 Sx(q)를 이용하여 시스템을 초기화한다. 단계(910)의 방법은 파라미터 bpp 및 q에 의존하는 트랜스코딩된 이미지 크기 분포 함수를 초기화한다. 프록시는 그것이 새로운 이미지 객체를 페치하여 트랜스코딩할 때, 이 분포 함수에 새로운 샘플 포인트를 계속해서 추가한다(단계 920). 920의 함수는 이미지 크기 예측기(375)로 하여금 클라이언트가 억세스할 수도 있는 다른 데이터 셋트에 그 동작을 적응시킬 수 있도록 한다.
따라서, 930에 도시된 방법에서는, 지연 및 출력 크기를 추정하기 위해 통계학적 방법을 이용하고, 이미지의 보다 정확한 분류를 수행하기 위한 기준으로서 bpp 비율을 이용하며, 그에 따라 최종 트랜스코딩된 파일 크기의 보다 양호한 추정치를 구한다. 이러한 방법은 GIF 파일에 특히 양호하게 작용한다.
이와 유사한 통계학적 방법을 이용하면, 통계학적 모델의 벤치마크 초기화 및 온라인 갱신에 근거하여 Dp(S)가 추정될 수 있다. 또한, 이러한 통계학적 작업을 통해, 트랜스코딩 지연이 (파일 크기와 반대로) 픽셀수의 선형 함수가 되는 것으로 양호하게 특성화되는지 판단한다.
이제, 대역폭 및 다운로드 시간 추정에 대해 고찰해 보자. 판단 단계(870)의 정확성은 또한, 이미지 다운로드 시간 추정치의 정확성에 상당히 의존한다. 도3 내지 도5에 도시된 대역폭 추정기(380)는 이들 시간 추정치를 제공할 책임이 있다. 이 대역폭 추정기(380)는 프록시의 모든 패킷 전송 및 수신 이벤트를 기록하고, 네트워크의 상태에 관한 예측을 위해 수집된 트레이스(traces)에 대한 통계학적 분석을 수행한다. 네트워크 모니터링 기술분야에 통상의 지식을 가진 자는 네트워크 모니터링 펑션이 수개의 상이한 방식으로 구현될 수 있다는 것을 알 수 있다. 한가지 구현예는 프록시 애플리케이션과 소켓 계층(socket layer) 사이의 심(shim) 계층이 되는 것이다. 다른 구현예는 패킷 필터링 소프트웨어 위의 처리 계층이 되는 것이다. 일반적으로 패킷 필터링 소프트웨어 위에 구축된 구현예는 대역폭 및 다운로드 시간의 보다 정확한 추정치를 제공하게 된다. 본 발명에 있어서는 대역폭 모니터(380) 정책 판단 단계(870)가 둘다 동일한 머신상에서 실행되어야 하는 요건이 없으며, 이들 모듈을 나란히 배열(collocate)함으로써, 이들 사이의 통신의 오버헤드를 최소화한다.
도10은 본 발명에 따른 예시적인 대역폭 추정기 모듈(380)을 도시하고 있다. 이 모듈은 2개의 구성요소, 즉, 트레이스 모니터(1010)와 통계학적 분석기(1020)로 구성된다. 트레이스 모니터는 클라이언트와 프록시 사이의 모든 접속을 지속적으로 모니터한다. 프록시와 모든 웹 서버 사이의 트래픽을 모니터하기 위해서도 동일한 트레이스 모니터(또는 다른 모니터)가 사용된다. 각각의 모니터링되는 접속에 대해, 다음의 정보가 기록된다.
* 새로운 접속이 설정될 때의 시간.
* 각각의 네트워크 접속의 발신지 어드레스, 발신지 포트 넘버 및 수신지 어드레스, 수신지 포트 넘버.
* 각각의 접속에서 전송 및 수신되는 바이트수, 각각의 전송 및 수신 이벤트의 각 타임스탬프.
* 접속이 폐쇄될 때의 시간.
통계학적 분석기(1020)는 모든 과거의 활성 접속 및 모든 현재의 활성 접속의 데이터베이스를 유지관리한다. 또한, 각각의 접속에 대해, 언제 얼마나 많은 바이트가 그 접속 상에서 전송되고 수신되었는지에 관한 히스토리를 유지관리한다. 이러한 히스토리에 근거하여, 통계학적 분석기(1020)는 미래의 접속의 다운로드 시간에 관한 예측을 할 수 있게 된다. 서버로부터 프록시로까지의 다운로드 시간과 프록시로부터 클라이언트까지의 다운로드 시간을 예측하기 위해, 여기서는 상이한 방법을 이용한다.
서버로부터 프록시까지의 트레이스는 광역 TCP 접속들 사이에서 공통적인 동작을 보인다. 시퀀스 대 타임스탬프 트레이스는 비선형적인 것으로 관찰되었으며, 평균 또는 중간 대역폭과 같은 선형 추정 개념은 정확한 추정치를 산출하지 못한다는 것을 알았다. 소정 크기의 객체의 다운로드 시간을 예측하기 위해, 대역폭 추정기는 선택된 수신지에 대한 접속의 히스토리를 조사하고, 개략적으로 동일한 크기를 가진 모든 객체에 대한 다운로드 시간의 분포 함수를 계산한다. 이러한 중간의 또는 다른 적절한 통계학적 분포 함수가 다운로드 시간 추정치로서 리턴된다.
이와 대조적으로, 프록시로부터 클라이언트까지의 TCP 동작은 통상적으로 마지막 홉(hop)(160-164)인 대역폭 제한 링크에 의한 영향에 좌우된다. 병목 링크가 존재하기 때문에, 클라이언트까지의 모든 활성 TCP 접속의 집합은 통상적으로 병목 링크를 포화시킨다. 그러므로, 프록시로부터 클라이언트까지의 다운로드 시간 추정치를 제공하기 위해, 대역폭 추정기는 클라이언트까지의 모든 활성 접속을 단일 그룹으로 집합을 형성한다. 각각의 접속 그룹에 대해, 시간 대 바이트수 플롯(plot)을 작성하고, 데이터에 대해 선형 곡선맞춤(linear curve-fit)을 수행한다. 이러한 기술은 프록시와 클라이언트 사이의 현재 이용가능한 대역폭의 정확한 추정치를 제공한다. 비록 이 값이 시간에 따라 변화되지만, 대부분의 경우에 오실레이션은 한계가 정해진다(bounded). 예를 들어, 대역폭 모니터는 곡선맞춤 알고리즘의 출력에서 분석함으로써 클라이언트가 10Mb 이더넷에 의해 접속되었는지, 14.4 모뎀에 의해 접속되었는지 또는 28.8 모뎀에 의해 접속되었는지 쉽게 검출할 수 있다. 예측된 값이 정확하지는 않지만(올바른 값으로부터 약 20%-30% 편차가 있음), 이 기술분야에 통상의 지식을 가진 자는 추정 알고리즘을 개량함으로써 대역폭 추정의 정확성이 향상될 수 있다는 것을 이해할 것이다.
이제, 트랜스코딩 사용자 인터페이스에 대해 고려해 보자. 트랜스코딩 사용자 인터페이스는 사용자가 이미지 품질과 다운로드 시간 사이의 트레이드오프를 동적으로 변경할 수 있도록 하는 인터페이스이다. 이것은 도2 내지 도5에서 도면부호 260으로 도시되었다. 도11은 본 발명에 따른 사용자 선택사항 인터페이스의 구현예를 도시하고 있다. 이 사용자 인터페이스는 선형 슬라이드바로서 양호하게 표현되며, 이것은 사용자가 이미지 품질을 지속적으로 변화시킬 수 있도록 하기 위해 Java 애플릿으로서 구현될 수 있다. 도11에 도시된 바와 같이, (그레이 스케일에 대해) 칼라를 선택하기 위한 옵션도 역시 제공된다. 또한, 오토파일럿(autopilot)을 선택하기 위한 옵션은 다음의 2가지 방식으로 사용될 수 있다. 즉, 1) 전술한 바와 같이 클라이언트-프록시 및 프록시-서버 링크 대역폭의 현재 추정치와 현재 이용가능한 CPU 자원에 근거하여 트랜스코딩을 수행할 것인지 여부를 자동적으로 결정할 수 있는, 프록시에 대한 표시로서 사용되거나, 또는 2) (예를 들어, 대역폭 추정 서브시스템에 의해 검출되는 동적 대역폭 변화를 보상하기 위해 프록시에서 이미지 품질을 변화시킴으로써) 사용자가 현재 경험하고 있는 현재의 다운로드 시간을 시험하고 유지하기 위해 프록시에 대한 표시로서 사용되거나, 또는 1) 및 2)의 경우 둘다로서 사용될 수 있다. 사용자가 데이터의 전-충실도(full-fidelity) 버전을 필요로 하는 경우에, 사용자는 슬라이드바를 (아래로) 조정하여 보다 높은 품질의 데이터를 요구함으로써 쉽게 정확한 데이터를 요구할 수 있다. 통상적으로, 이러한 웹 브라우징의 거의 대부분은 이미지를 그 원래의 크기의 1/6 또는 1/10로 트랜스코딩함으로써 수행될 수 있으며, 그 개선된 것을 요구할 필요가 있는 맵과 같은 객체는 아주 드물게 나타났다. 윈도우즈 CE 기반의 플랫폼과 같은 비-자바 장치를 지원하기 위해 대안의 HTML-전용 인터페이스가 개발될 수 있었다.
이제, 스트리밍 이미지 트랜스코딩에 대해 고려해 보자. 전술한 설명은 일반적으로 저장-전송 트랜스코딩 프록시에 적용될 수 있다. 다음에는 트랜스코딩에 스트림방식(streamed) 이미지 트랜스코더를 관여시키는 것이 유익한 조건에 대해 설명한다. 스트림방식 이미지 트랜스코더는 입력 포맷으로 인코딩된 전체 이미지에 대응하는 완전한 입력 바이트 스트림을 완전하게 판독입력(read in)하기 전에 출력 포맷으로 인코딩된 이미지 데이터의 기록출력(write out)을 시작하는 이미지 트랜스코더이다.
도12는 타이밍도를 이용하여 본 발명의 알고리즘을 증명할 수 있는 예를 도시하고 있다. 입력 이미지는 1/Bsp 만큼 이격된 비트 스트림으로서 도달한다. 스트리밍 이미지 트랜스코더는 트랜스코딩을 위해 G 비트의 그룹을 수취하게 되며, 이것은 작은 저장-전송 지연 D1을 초래한다. 이 비트 그룹은 다음에 Gp 출력 비트의 그룹으로 트랜스코딩되며, 지연 D2를 초래한다. 만일 D2<D1 이면, 이미지 트랜스코더는 각각의 입력 그룹 G를 그 다음 입력 그룹 G가 처리될 필요가 있게 되기 전에 그 대응하는 출력 그룹 Gp로 변환할 수 있다. 이 경우에, 스트리밍 이미지 트랜스코더의 내부 메모리 요구는 한계가 정해진다. 그러나, 만일 D2>D1이면, 이미지 트랜스코더는 입력 비트를 충분히 빠르게 처리할 수 없게 된다. 후자의 경우에, 연속적인 입력 스트림이 주어지면, 이미지 트랜스코더의 내부 메모리 요구는 한계없이 커지게 되며, 즉, 이미지 트랜스코더의 유한-길이 내부 RAM 버퍼가 오버플로우하게 된다. 그러므로, 트랜스코딩 지연 D2는 D2<D1을 만족시키는 것이 바람직하다. D1 = G/Bsp 라는 것은 분명하다. D2를 구하기 위해, Dp(S)를 S 비트의 이미지에 대한 예측된 이미지 트랜스코딩 시간이라고 하자(Dp(S)는 실제적으로 이미지 콘텐트 및 치수와 같은 다른 파라미터에 의존하지만, 표기의 간략성을 위해 Dp(S)를 이용한다). 그러면, D2 = Dp(S)/(S/G)이다. RAM 버퍼가 오버플로우하는 것을 피하기 위해, 그룹 트랜스코딩 지연은 Dp(S)/(S/G) < G/Bsp를 충족시키거나, 또는
Dp(S) < S/Bsp (조건 A)
를 충족시켜야 한다.
조건 A가 참이면, 출력 트랜스코딩된 그룹 Gp는 지연 D1만큼 균일하게 이격되게 된다. 전송 채널은 각각의 트랜스코딩된 비트 그룹 Gp를 시간 D3 = Gp/Bpc 동안에 전송할 수 있다. i)의 경우로서, D3(i) < D1, 즉, 각각의 출력 그룹 Gp가 그 다음 출력 그룹이 전송 준비가 되기 전에 전송될 수 있는 경우로 하자. ii)의 경우로서, D3(ii) > D1 이라고 하고, 따라서, 출력 전송 링크가 생성된 비트들을 출력큐가 비어있는 상태를 유지할 정도로 충분히 빠르게 전송할 수 없는 경우라고 하자. ii)의 경우에, 전송 링크의 출력큐는 트랜스코딩된 비트들의 연속된 스트림이 제공되는 경우에 한계없이 증대되게 되어, 유한-길이 링크 버퍼에 대한 오버플로우를 유발하게 된다. 그러므로, 트랜스코딩된 출력 그룹에 의해 야기되는 지연이 D3(i) < D1이 되는 것이 바람직하다. D3(i) = Gp/Bpc라는 것은 분명하다. 전송 링크의 출력 버퍼를 오버플로우시키는 것을 피하기 위해, 트랜스코딩된 출력 이미지 그룹 크기 Gp는 Gp/Bpc < G/Bsp를 충족시키거나, 또는
c > Bsp/Bpc (조건 B)
를 충족시켜야 한다. 여기서, c는 그룹 이미지 압축 비율이며, 이것은 전체 이미지 압축 비율에 등가의 평균이 되는 것으로 가정한다. 요약하면, 스트림방식 이미지 트랜스코더는 조건 A 및 조건 B가 모두 충족되는 경우에만 트랜스코딩을 수행해야 한다. 만일 프록시-서버 링크가 병목이면, 즉, Bsp < Bpc 이면, 조건 B는 c > N으로 감소되며, 여기서, N은 1보다 적은 수이다. 통상적으로, 압축 비율은 항상 1보다 크며, 따라서, 조건 B는 항상 충족되게 된다. 이 경우에, 트랜스코딩이 불리하게 되지 않도록 하기 위해서는 단지 조건 A가 충족되어야 한다. 사실상, 프록시-서버 링크가 병목인 경우에, 조건 B는 트랜스코딩된 이미지에 대해 허용되는 확장 비율에 대한 상한을 제공하는 것으로 해석될 수 있다. 즉, 1/c < Bpc/Bsp이다. 포맷 변환이 필수적인 경우에, 예를 들어, GIF->Palm 포맷인 경우에, 때때로 이미지의 확장(expansion)이 필요할 수도 있다. 전술한 방정식은 이러한 포맷 변환이 버퍼 오버플로우의 기회를 증가시키게 될 때, 그리고 포맷 변환이 버퍼 오버플로우를 초래하지 않을 때를 판단할 수 있도록 한다. 예를 들어, Bsp = 1bps이고, Bpc = 2bps이고, G = 1비트 이면, 조건 B는 출력 그룹 Gp가 최대 2비트까지 확장될 수 있다는 것을 말한다. 만일 클라이언트-프록시 링크가 병목이면, 즉, Bsp > Bpc이면, 조건 B는 트랜스코딩이 가치가 있도록 하기 위해 이미지 압축 비율 c가 클라이언트-프록시 대역폭에 대한 프록시-서버 대역폭의 비율보다 커야 된다는 것을 말한다. 또한, 조건 A도 여전히 충족되어야 한다.
버퍼가 결코 오버플로우되는 것을 허용하지 않아야 된다고 가정하면, 조건 A와 조건 B는 엄격한 한계이다. 이 기술분야에 통상의 지식을 가진 자는 이미지가 분석시 수취되는 연속한 스트림이 아니라 유한-길이로 이루어진 것으로 가정하면, 보다 느슨한 제한조건이 유도될 수도 있다는 것을 이해할 것이다. 제한조건이 보다 느슨해질수록 트랜스코딩에 더 많은 시간이 허용되고, 보다 덜 적극적인(aggressive) 압축을 허용하게 된다.
따라서, 본 발명의 한 관점은 통신 네트워크를 통해 접속된 클라이언트 장치와 서버 사이의 브라우징을 용이하게 하기 위해 트랜스코딩 프록시를 위한 방법을 제공하는 것이다. 이 방법은, 상기 서버중 하나에 저장된 객체에 대한 HTTP GET 요구를 하나의 클라이언트 장치로부터 수신하는 단계; 상기 객체에 대한 GET 요구를 상기 하나의 서버로 전송하는 단계; 상기 하나의 서버로부터 객체를 수신하는 단계; 상기 하나의 클라이언트 장치의 사용자에 의해 지정된 선택사항(preferences)을 검사하는 단계; 상기 객체의 콘텐트를 검사하는 단계; 통신 네트워크 특성을 검사하는 단계; 트랜스코딩 파라미터 셋트를 선택하는 단계; 상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및 상기 트랜스코딩된 형태를 상기 하나의 클라이언트 장치로 전송하는 단계를 포함하며, 상기 네트워크 특성 검사 단계는 프록시와 상기 하나의 클라이언트 장치 사이의 대역폭뿐만 아니라 상기 하나의 서버와 프록시 사이의 네트워크 대역폭도 추정하는 단계를 포함하고, 또한, 상기 네트워크 특성 검사 단계는 프록시와 상기 하나의 클라이언트 장치 사이의 지연뿐만 아니라 상기 하나의 서버와 프록시 사이의 네트워크 지연도 추정하는 단계를 포함하고, 상기 방법은, 트랜스코딩된 형태를 형성하기 위해 상기 객체에 대해 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는 단계를 더 포함한다. 또한, 상기 객체의 콘텐트를 검사하는 단계는 객체의 크기를 판단하는 단계를 포함하며, 상기 방법은 상기 이미지 객체의 치수를 판단하는 단계; 및 상기 이미지 객체의 압축 비율을 계산하는 단계를 더 포함한다. 만일 상기 객체가 이미지 형태로 이루어지면, 상기 이미지 객체의 치수는 정사각형 픽셀에서의 이미지의 영역에 의해 결정되고, 상기 압축 비율은 상기 이미지 객체의 bpp 비율에 의해 결정된다. 본 발명은 저장-전송 트랜스코딩 및 스트리밍 트랜스코딩을 둘다 허용하며, 따라서, 상기 하나의 서버로부터 객체를 수신하는 단계가 완료되기 전에 상기 트랜스코딩된 형태를 형성하는 것을 허용한다. 이 방법은 JPEG, GIF 및 다른 이미지 형태에 적용될 수 있다. 본 발명의 다른 관점은 상기 객체의 트랜스코딩된 형태를 형성하는 단계가 완료되기 전에 상기 트랜스코딩된 형태를 전송하는 것을 허용한다는 것이다.
몇가지 중요한 다른 고려사항이 있다. 본 발명의 개념에 대한 전술한 예는 이미지 및 비디오 등에 유용하다. 인터넷의 이용이 확산되면서, JPEG 및 MPEG 압축 이미지 데이터의 가치가 나타났다. 오디오 코딩된 데이터는 또한, 압축되거나, 특수 사운드 효과신호와 혼합되거나, 다른 오디오 데이터와 병합되거나, 리얼 도메인에서 편집 및 처리될 필요가 있다. 다른 산업적, 상업적 및 군사적 애플리케이션에도 이와 유사한 구현이 수행될 수 있다.
본 발명은 또한, 프로세스, 제조 물품, 장치, 시스템, 아키텍처 및/또는 컴퓨터 제품으로서 제공될 수 있다. 예를 들어, 컴퓨터로 하여금 본 발명의 방법을 수행하도록 야기시키기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 제조 물품으로서 구현될 수 있다.
비록 본 발명의 설명이 특정 단계 구성에 대해 이루어졌지만, 본 발명의 취지 및 개념은 다른 구성에도 적절하며 적용가능하다. 예를 들어, 실시예는 웹 브라우징에 대해서만 기술되었지만, 본 발명은 어떠한 브라우저에도 적응할 수 있다. 비록 동적 구현예에 대해 기본적인 고찰이 이루어졌지만, 본 발명은 정적 구현예, 준-동적 구현예 및 동적 구현예와 함께 이용될 수 있다. 이 기술분야에 통상의 지식을 가진 자에게는, 본 발명의 사상 및 범위를 벗어나지 않고, 전술한 실시예에 대한 다른 변형이 이루어질 수도 있다는 것을 자명하다. 그러므로, 모든 변경 및 변형예는 첨부된 청구범위에 정의된 바와 같은 본 발명의 범위 내에 포함되도록 의도된 것이다.
전술한 바와 같은 본 발명에 따르면, 브라우징을 수행하는데 있어 트랜스코딩 파라미터를 동적으로 조정함으로써 사용자에 대한 응답 시간을 감소시킬 수 있는 효과가 있다.

Claims (55)

  1. 통신 링크를 통해 접속된 다수의 클라이언트 장치와 다수의 서버 사이에서 브라우징을 용이하게 하기 위한 트랜스코딩 프록시를 위한 방법에 있어서,
    상기 서버중 하나에 저장된 객체에 대한 요구를 상기 클라이언트 장치중 하나로부터 수신하는 단계;
    상기 객체에 대한 요구를 상기 하나의 서버로 전송하는 단계;
    상기 하나의 서버로부터 객체를 수신하는 단계;
    상기 하나의 클라이언트 장치의 사용자에 의해 지정된 선택사항(preferences)을 검사하는 단계;
    상기 객체의 콘텐트를 검사하는 단계;
    통신 네트워크 특성을 검사하는 단계;
    트랜스코딩 파라미터 셋트를 선택하는 단계;
    상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및
    상기 트랜스코딩된 형태를 상기 하나의 클라이언트 장치로 전송하는 단계
    를 포함하는 트랜스코딩 프록시를 위한 방법.

  2. 제 1 항에 있어서,
    상기 네트워크 특성은 대역폭을 포함하고, 상기 네트워크 특성 검사 단계는 프록시와 상기 하나의 클라이언트 장치 사이의 대역폭뿐만 아니라 상기 하나의 서버와 프록시 사이의 네트워크 대역폭도 추정하는 단계를 포함하는
    트랜스코딩 프록시를 위한 방법.

  3. 제 1 항에 있어서,
    상기 네트워크 특성은 지연을 포함하고, 상기 네트워크 특성 검사 단계는 프록시와 상기 하나의 클라이언트 장치 사이의 지연뿐만 아니라 상기 하나의 서버와 프록시 사이의 네트워크 지연도 추정하는 단계를 포함하는
    트랜스코딩 프록시를 위한 방법.

  4. 제 1 항에 있어서,
    트랜스코딩된 형태를 형성하기 위해 상기 객체에 대해 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는 단계
    를 더 포함하는 트랜스코딩 프록시를 위한 방법.

  5. 제 1 항에 있어서,
    상기 객체의 콘텐트를 검사하는 단계는 객체의 크기를 판단하는 단계를 포함하는
    트랜스코딩 프록시를 위한 방법.

  6. 제 1 항에 있어서,
    상기 객체는 이미지 객체를 형성하는 이미지 형태로 이루어지고, 상기 방법은,
    상기 이미지 객체의 치수를 판단하는 단계; 및
    상기 이미지 객체의 압축 비율을 계산하는 단계를 더 포함하는
    트랜스코딩 프록시를 위한 방법.

  7. 제 6 항에 있어서,
    상기 이미지 객체의 치수는 정사각형 픽셀에서의 이미지의 영역에 의해 결정되고, 상기 압축 비율은 상기 이미지 객체의 bpp 비율에 의해 결정되는
    트랜스코딩 프록시를 위한 방법.

  8. 제 1 항에 있어서,
    상기 트랜스코딩된 형태를 형성하는 단계는 동적 적응방식을 이용하는
    트랜스코딩 프록시를 위한 방법.

  9. 제 1 항에 있어서,
    상기 트랜스코딩된 형태를 형성하는 단계는 상기 하나의 서버로부터 객체를 수신하는 단계가 완료되기 전에 시작되는
    트랜스코딩 프록시를 위한 방법.

  10. 제 9 항에 있어서,
    상기 수신되는 객체 형태는 JPEG 객체를 형성하는 JPEG 형태로 이루어진
    트랜스코딩 프록시를 위한 방법.

  11. 제 10 항에 있어서,
    상기 트랜스코딩된 형태를 형성하는 단계는 JPEG-JPEG 이미지 트랜스코딩을 수행하는 단계를 포함하고, 상기 트랜스코딩된 형태를 전송하는 단계는 상기 객체 수신 단계가 완료되기 전에 JPEG-인코딩된 출력 이미지 데이터의 적어도 하나의 MCU에서 기록출력(write out)을 시작하는
    트랜스코딩 프록시를 위한 방법.
  12. 제 1 항에 있어서,
    상기 트랜스코딩된 형태를 전송하는 단계는 수신된 객체의 초기 부분을 처리한 이후에, 그리고 상기 하나의 서버로부터 이미지 객체를 수신하는 단계가 완료되기 전에 시작되는
    트랜스코딩 프록시를 위한 방법.

  13. 제 1 항에 있어서,
    상기 트랜스코딩된 형태를 전송하는 단계는 상기 객체의 트랜스코딩된 형태를 형성하는 단계가 완료되기 전에 시작되는
    트랜스코딩 프록시를 위한 방법.

  14. 서버로부터 이용가능한 객체에 대한 클라이언트로부터의 요구를 충족시키는데 있어 서버로부터 수신되는 객체의 트랜스코딩된 형태를 형성하기 위한 프록시를 위한 방법에 있어서,
    상기 클라이언트를 위한 객체를 트랜스코딩하기 위한 파라미터를 동적으로 적응시키는 단계;
    상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및
    상기 트랜스코딩된 형태를 상기 클라이언트로 전송하는 단계
    를 포함하는 프록시를 위한 방법.

  15. 제 14 항에 있어서,
    상기 파라미터를 적응시키는 단계는 상기 객체의 적어도 하나의 특성을 판단하는 단계를 포함하는
    프록시를 위한 방법.

  16. 제 15 항에 있어서,
    상기 하나의 특성은 상기 객체의 크기 및 형태에 관한 정보를 제공하는 객체-헤더인
    프록시를 위한 방법.

  17. 제 16 항에 있어서,
    상기 객체의 크기를 "크기-임계치"로 불리는 임계치 파라미터에 비교하는 단계
    를 더 포함하는 프록시를 위한 방법.
  18. 제 14 항에 있어서,
    상기 파라미터를 적응시키는 단계는 상기 서버와 프록시 사이 또한 상기 프록시와 상기 클라이언트 사이의 현재의 네트워크 특성을 수집하는 단계를 포함하는
    프록시를 위한 방법.

  19. 제 18 항에 있어서,
    상기 특성중 하나는 네트워크 대역폭이고, 상기 파라미터를 적응시키는 단계는 상기 프록시와 상기 클라이언트 사이 뿐만 아니라 상기 서버와 상기 프록시 사이의 네트워크 대역폭을 추정하는 단계를 포함하는
    프록시를 위한 방법.

  20. 제 19 항에 있어서,
    상기 트랜스코딩된 형태는 상기 추정된 대역폭에 의존하는
    프록시를 위한 방법.

  21. 제 14 항에 있어서,
    상기 파라미터를 적응시키는 단계는 사용자의 선택사항을 검색하는 단계를 포함하고, 상기 트랜스코딩된 형태는 상기 선택사항에 의존하는
    프록시를 위한 방법.

  22. 제 14 항에 있어서,
    상기 파라미터를 적응시키는 단계는 상기 객체의 콘텐트를 검사하는 단계를 포함하는
    프록시를 위한 방법.

  23. 제 22 항에 있어서,
    상기 객체는 이미지 객체를 형성하는 이미지 형태로 이루어지고, 이미지 객체의 콘텐트를 검사하는 단계는 상기 이미지의 치수를 판단하는 단계를 포함하는
    프록시를 위한 방법.

  24. 제 23 항에 있어서,
    상기 파라미터를 적응시키는 단계는 상기 이미지 객체의 압축 비율을 판단하는 단계에 의존하는
    프록시를 위한 방법.

  25. 제 24 항에 있어서,
    상기 이미지 객체의 형태는 GIF이고, 상기 파라미터를 적응시키는 단계는 "GIF-임계치"로 불리는 소정의 정책 임계치에 대하여 상기 압축 비율을 비교하는 단계에 의존하는
    프록시를 위한 방법.

  26. 제 14 항에 있어서,
    상기 객체의 트랜스코딩된 형태의 적어도 하나의 파라미터를 예측하는 단계
    를 더 포함하는 프록시를 위한 방법.

  27. 제 26 항에 있어서,
    상기 트랜스코딩된 형태는 상기 객체의 원래의 형태와 동일한 것인
    프록시를 위한 방법.

  28. 제 26 항에 있어서,
    상기 파라미터중 적어도 하나는 상기 트랜스코딩된 형태의 크기를 포함하는
    프록시를 위한 방법.

  29. 제 26 항에 있어서,
    상기 파라미터중 적어도 하나는 객체를 트랜스코딩하는데 소요되는 시간을 포함하는
    프록시를 위한 방법.

  30. 객체 - 상기 객체는 초기 크기 및 치수를 갖고 있으며, 서버로부터 수신됨 - 에 대한 클라이언트로부터의 요구를 충족시키는데 있어 상기 객체의 트랜스코딩된 형태의 파라미터들을 예측하는 방법에 있어서,
    상기 객체의 bpp 비율을 계산하는 단계;
    다수의 이전에 트랜스코딩된 객체들의 일련의 통계를 수집하는 단계; 및
    상기 파라미터를 예측하기 위해 상기 일련의 통계 및 상기 bpp 비율을 이용하는 단계
    를 포함하는 방법.
  31. 제 30 항에 있어서,
    상기 파라미터중 적어도 하나는 크기이고, 상기 일련의 통계는 다수의 이전에 트랜스코딩된 객체들의 크기의 통계를 포함하는
    방법.

  32. 제 30 항에 있어서,
    상기 객체는 이미지 형태로 이루어지고, 상기 일련의 통계는 이미지 품질을 포함하는
    방법.

  33. 제 32 항에 있어서,
    상기 다수의 이전에 트랜스코딩된 객체는 한 벌의 소정의 벤치마크 이미지로부터 선택되는
    방법.

  34. 제 31 항에 있어서,
    상기 일련의 통계 및 bpp 비율을 이용하는 단계는 현재 트랜스코딩되는 객체의 통계를 이용하여 상기 일련의 통계를 동적으로 갱신하는 단계를 포함하는
    방법.

  35. 제 30 항에 있어서,
    상기 파라미터중 적어도 하나는 객체의 트랜스코딩된 형태를 형성하기 위한 지속기간이며, 상기 일련의 통계는 다수의 이전에 트랜스코딩된 객체들을 형성하기 위한 지속기간을 포함하는
    방법.

  36. 통신 네트워크를 통해 접속된 다수의 클라이언트와 다수의 서버 사이의 브라우징을 용이하게 하기 위한 트랜스코딩 프록시 시스템에 있어서,
    상기 서버중 하나에 저장된 객체에 대한 상기 클라이언트중 하나로부터의 요구를 수신하고, 상기 서버중 하나로부터 상기 객체를 페치하기 위한 HTTP 프록시 엔진;
    트랜스코딩을 위한 파라미터 셋트를 이용하여 상기 객체의 트랜스코딩된 형태를 형성하기 위한 객체 트랜스코더;
    트랜스코딩의 파라미터 셋트를 결정하기 위한 동적 정책 모듈;
    상기 객체의 특성을 수집하기 위한 이미지 크기 및 지연 예측기 모듈;
    상기 하나의 클라이언트의 사용자에 의해 지정된 품질 선택사항을 수집하기 위한 사용자 선택사항 모듈; 및
    이용가능한 네트워크 대역폭을 추정하기 위한 대역폭 추정 모듈
    을 포함하고,
    여기서, 상기 동적 정책 모듈은 사용자에 대한 만족도를 향상시키기 위한 목적으로 상기 이미지 크기 및 지연 예측기 모듈, 상기 사용자 선택사항 모듈 및 상기 대역폭 추정 모듈로부터 수신되는 입력을 이용하여 트랜스코딩의 파라미터들을 동적으로 조정하고, 상기 트랜스코딩 시스템은 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는
    트랜스코딩 프록시 시스템.

  37. 제 36 항에 있어서,
    상기 사용자 선택사항 모듈은,
    상기 클라이언트 장치중 하나의 디스플레이 크기, 해상도 및 CPU 속도와 같은 특성을 수집하고,
    이들 특성을 상기 동적 정책 모듈로 제공하는
    트랜스코딩 프록시 시스템.

  38. 제 36 항에 있어서,
    상기 대역폭 추정 모듈은,
    상기 하나의 서버와 상기 프록시 사이에 이전에 설정된 네트워크 접속의 트레이스를 수집하고,
    상기 프록시와 상기 하나의 클라이언트 사이에 이전에 설정된 네트워크 접속의 트레이스를 수집하고,
    이들 수집된 트레이스에 관한 통계학적 분석을 수행함으로써 객체 다운로드 시간을 추정하는
    트랜스코딩 프록시 시스템.

  39. 제 38 항에 있어서,
    상기 하나의 서버와 상기 프록시 사이의 대역폭을 추정하기 위해 사용되는 통계학적 분석은 수집된 트레이스로부터 결정되는 바와 같은 이전에 페치된 객체들의 다운로드 시간의 중간, 평균 또는 모드와 같은 통계학적 척도의 계산에 의존하는
    트랜스코딩 프록시 시스템.

  40. 제 38 항에 있어서,
    상기 프록시와 상기 하나의 클라이언트 사이의 대역폭을 추정하기 위해 사용되는 통계학적 분석은 상기 프록시와 상기 하나의 클라이언트 사이의 모든 활성적인 접속의 집합적인 대역폭의 계산에 의존하는
    트랜스코딩 프록시 시스템.

  41. 제 36 항에 있어서,
    사용자 지정 선택사항을 수집하기 위해 상기 하나의 클라이언트의 디스플레이 상에 슬라이드바를 디스플레이하기 위한 수단
    을 더 포함하는 트랜스코딩 프록시 시스템.

  42. 제 36 항에 있어서,
    상기 하나의 클라이언트의 사용자는 슬라이드바를 가진 그래픽 사용자 인터페이스를 이용하여 다운로드 시간과 데이터 품질 사이의 트레이드오프를 지정할 수 있는
    트랜스코딩 프록시 시스템.

  43. 제 41 항에 있어서,
    상기 하나의 클라이언트의 사용자는 원하는 출력 형태로서 칼라 또는 그레이 스케일을 선택하기 위한 특정 스위치를 포함하는, 슬라이드바를 가진 그래픽 사용자 인터페이스를 이용하여 다운로드 시간과 이미지 품질 사이의 트레이드오프를 지정할 수 있는
    트랜스코딩 프록시 시스템.

  44. 제 41 항에 있어서,
    상기 하나의 클라이언트의 사용자는 상기 시스템이 상기 하나의 클라이언트에 대해 대역폭의 동적 변화를 보상하기 위해 데이터 품질(및 데이터 다운로드 시간)을 자동적으로 감소시키도록 목표 응답시간을 유지하기 위한 요구를 슬라이드바를 가진 그래픽 사용자 인터페이스를 이용하여 지정할 수 있는
    트랜스코딩 프록시 시스템.

  45. 제 41 항에 있어서,
    상기 그래픽 사용자 인터페이스 슬라이드바는 또한, 상기 트랜스코딩 파라미터의 최적의 선택을 사용자에게 보여주기 위한 출력 인터페이스로서도 사용되는
    트랜스코딩 프록시 시스템.
  46. 트랜스코딩 프록시에서 객체의 트랜스코딩된 형태의 동적 적응을 야기시키기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 제조 물품에 있어서,
    상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은 컴퓨터로 하여금,
    프록시가 서버로부터 사용자와 관련된 객체를 수신하는 단계;
    상기 객체의 파라미터를 결정하는 단계;
    사용자의 선택사항을 검색하는 단계;
    현재의 네트워크 특성을 수집하는 단계;
    트랜스코딩 정책 임계치를 획득하는 단계;
    상기 객체 파라미터, 상기 사용자 선택사항, 상기 네트워크 특성 및 상기 정책 임계치에 근거하여 정책 결정을 수행하는 단계;
    트랜스코딩된 객체를 형성하는 단계;
    상기 객체에 대해 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는 단계; 및
    상기 트랜스코딩된 객체를 사용자에게 전송하는 단계
    를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 포함하는
    제조 물품.
  47. 트랜스코딩 프록시로 하여금 통신 네트워크를 통해 접속된 다수의 클라이언트 장치와 다수의 서버 사이에서의 브라우징을 용이하게 할 수 있도록 하기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 제조 물품에 있어서,
    상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은 컴퓨터로 하여금,
    상기 서버중 하나에 저장된 객체에 대한 상기 클라이언트 장치중 하나로부터의 요구를 수신하는 단계;
    상기 객체에 대한 요구를 상기 하나의 서버로 전송하는 단계;
    상기 하나의 서버로부터 객체를 수신하는 단계;
    상기 하나의 클라이언트 장치의 사용자에 의해 지정된 선택사항을 검사하는 단계;
    상기 객체의 콘텐트를 검사하는 단계;
    통신 네트워크 특성을 검사하는 단계;
    트랜스코딩 파라미터 셋트를 선택하는 단계;
    상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및
    상기 트랜스코딩된 형태를 상기 하나의 클라이언트로 전송하는 단계
    를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 포함하는
    제조 물품.

  48. 제 47 항에 있어서,
    상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 트랜스코딩된 형태를 형성하기 위해 상기 객체에 대해 수행되는 트랜스코딩 레벨에 관한 피드백을 사용자에게 제공하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는
    제조 물품.

  49. 제 47 항에 있어서,
    상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 객체의 치수를 판단하는 단계와 상기 객체의 압축 비율을 계산하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는
    제조 물품.

  50. 제 47 항에 있어서,
    상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 하나의 서버로부터 객체를 수신하는 단계가 완료되기 전에 상기 트랜스코딩된 형태를 형성하는 단계를 시작하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는
    제조 물품.

  51. 서버로부터 이용가능한 객체에 대한 클라이언트로부터의 요구를 만족시키는데 있어 프록시로 하여금 서버로부터 수신되는 객체의 트랜스코딩된 형태를 형성하도록 야기시키기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금,
    상기 클라이언트를 위해 상기 객체를 트랜스코딩하기 위한 파라미터를 동적으로 적응시키기는 단계;
    상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및
    상기 트랜스코딩된 형태를 상기 클라이언트로 전송하는 단계
    를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 포함하는
    컴퓨터 프로그램 제품.
  52. 제 51 항에 있어서,
    상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 서버와 상기 프록시 사이 및 상기 프록시와 상기 클라이언트 사이의 현재의 네트워크 특성을 수집하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는
    컴퓨터 프로그램 제품.

  53. 제 52 항에 있어서,
    상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 추정된 대역폭 및 사용자의 선택사항에 근거하여 트랜스코딩을 위한 파라미터를 적응시키는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는
    컴퓨터 프로그램 제품.

  54. 객체 - 상기 객체는 초기 크기 및 치수를 갖고 있으며, 서버로부터 수신됨 - 에 대한 클라이언트로부터의 요구를 충족시키는데 있어 상기 객체의 트랜스코딩된 형태의 파라미터들을 예측하기 위한 방법 단계들을 수행하기 위해 머신에 의해 실행가능한 명령어들의 프로그램을 실체적으로 구현하는 머신 판독가능 프로그램 저장 장치에 있어서,
    상기 방법 단계들은,
    상기 객체의 bpp 비율을 계산하는 단계;
    다수의 이전에 트랜스코딩된 객체들의 일련의 통계를 수집하는 단계; 및
    상기 파라미터를 예측하기 위해 상기 일련의 통계 및 상기 bpp 비율을 이용하는 단계를 포함하는
    프로그램 저장 장치.

  55. 제 54 항에 있어서,
    상기 일련의 통계를 이용하는 상기 방법 단계는 현재 트랜스코딩되는 객체들의 통계를 이용하여 상기 일련의 통계를 갱신하는 단계를 포함하는
    프로그램 저장 장치.
KR1019990042239A 1998-10-02 1999-10-01 브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치 KR100353172B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10294498P 1998-10-02 1998-10-02
US60/102,944 1998-10-02
US09/236,622 US6563517B1 (en) 1998-10-02 1999-01-29 Automatic data quality adjustment to reduce response time in browsing
US9/236,622 1999-01-29
US09/236,622 1999-01-29

Publications (2)

Publication Number Publication Date
KR20000034960A true KR20000034960A (ko) 2000-06-26
KR100353172B1 KR100353172B1 (ko) 2002-09-18

Family

ID=26799914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990042239A KR100353172B1 (ko) 1998-10-02 1999-10-01 브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치

Country Status (5)

Country Link
US (1) US6563517B1 (ko)
EP (1) EP0992922B1 (ko)
KR (1) KR100353172B1 (ko)
AT (1) ATE274207T1 (ko)
DE (1) DE69919474T2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030070427A (ko) * 2002-02-25 2003-08-30 삼성에스디에스 주식회사 심볼 개념을 이용한 데이터 파일의 스트리밍 전송 방법
KR100744532B1 (ko) * 2004-12-13 2007-08-02 한국전자통신연구원 프리퍼런스 정보를 이용한 웹서비스 제공방법 및 장치
KR101428671B1 (ko) * 2007-11-02 2014-09-17 에꼴 드 테크놀로지 수페리에르 스케일링 및 퀄리티-컨트롤 파라미터의 변경에 의한 변환이 가능한 이미지의 파일 사이즈 예측 시스템 및 방법

Families Citing this family (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
US6826593B1 (en) * 1998-09-01 2004-11-30 Lucent Technologies Inc. Computer implemented method and apparatus for fulfilling a request for information content with a user-selectable version of a file containing that information content
US6587878B1 (en) * 1999-05-12 2003-07-01 International Business Machines Corporation System, method, and program for measuring performance in a network system
US6993476B1 (en) * 1999-08-26 2006-01-31 International Business Machines Corporation System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework
US7191168B1 (en) 1999-08-27 2007-03-13 At&T Corp. Fast prefix matching of bounded strings
US20020198961A1 (en) * 1999-08-27 2002-12-26 Balachander Krishnamurthy Method for improving web performance by client characterization-driven server adaptation
US7296089B2 (en) * 1999-08-27 2007-11-13 At&T Corp. Method for improving web performance by adapting servers based on client cluster characterization
US7219160B1 (en) 1999-08-27 2007-05-15 At&T Corp. Method for fast network-aware clustering
US20060265476A1 (en) * 1999-10-21 2006-11-23 Sean Barger Automated media delivery system
US6964009B2 (en) * 1999-10-21 2005-11-08 Automated Media Processing Solutions, Inc. Automated media delivery system
US6792575B1 (en) 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
US20100145794A1 (en) * 1999-10-21 2010-06-10 Sean Barnes Barger Media Processing Engine and Ad-Per-View
GB2358539A (en) * 2000-01-21 2001-07-25 Sony Uk Ltd Data processing method which separates parameter data from coded data
US7240099B2 (en) 2000-03-06 2007-07-03 Sony Corporation System and method for efficiently performing data transfer operations
EP1148690A1 (en) * 2000-04-20 2001-10-24 Telefonaktiebolaget Lm Ericsson Method, gateway system and arrangement in a communication network
US7072984B1 (en) * 2000-04-26 2006-07-04 Novarra, Inc. System and method for accessing customized information over the internet using a browser for a plurality of electronic devices
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US7747782B2 (en) * 2000-04-26 2010-06-29 Novarra, Inc. System and method for providing and displaying information content
US20040049737A1 (en) * 2000-04-26 2004-03-11 Novarra, Inc. System and method for displaying information content with selective horizontal scrolling
AU2001241851A1 (en) 2000-05-11 2001-11-20 Lightsurf Technologies, Inc. System and method to provide access to photographic images and attributes for multiple disparate client devices
JP2001331416A (ja) * 2000-05-19 2001-11-30 Sharp Corp 電子メール送信装置、電子メール作成方法および電子メール作成プログラムを記録したコンピュータ読取可能な記録媒体
US7490166B2 (en) * 2000-05-26 2009-02-10 Citrix Systems, Inc. Remote control of a client's off-screen surface
KR100460276B1 (ko) * 2000-06-10 2004-12-04 유미특허법인 인터넷 서비스 장치 및 서비스 방법
EP1170675A1 (en) * 2000-07-06 2002-01-09 Gavoa Ltd Presentation of customised data content
US7519702B1 (en) * 2000-08-10 2009-04-14 International Business Machines Corporation Method and apparatus for measuring web site performance
US20020046262A1 (en) * 2000-08-18 2002-04-18 Joerg Heilig Data access system and method with proxy and remote processing
WO2002021312A2 (en) * 2000-09-05 2002-03-14 Vocaltec Communications Ltd. System and method for facilitating coordinated browsing of data objects
FR2814571A1 (fr) * 2000-09-28 2002-03-29 Eastman Kodak Co Procede pour fournir a un client du type concepteur de site web ou hebergeur de site web un outil de transformation d'une image d'un premier format dans un second format
US6766354B1 (en) 2000-09-28 2004-07-20 Intel Corporation Speed sensitive content delivery in a client-server network
WO2002029642A2 (en) * 2000-10-04 2002-04-11 Routefree, Inc. Replacement of requested data with equivalent data
US7249196B1 (en) * 2000-10-06 2007-07-24 Juniper Networks, Inc. Web page source file transfer system and method
US6834297B1 (en) 2000-10-06 2004-12-21 Redline Networks, Inc. Web resource transfer acceleration system and method
WO2002031806A1 (en) * 2000-10-13 2002-04-18 Bokhour, Edward Method of and system for low-bandwidth transmission of color video
US20020059458A1 (en) * 2000-11-10 2002-05-16 Deshpande Sachin G. Methods and systems for scalable streaming of images with server-side control
US7242324B2 (en) 2000-12-22 2007-07-10 Sony Corporation Distributed on-demand media transcoding system and method
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US6961754B2 (en) * 2001-01-12 2005-11-01 Telefonaktiebolaget Lm Ericsson Interactive access, manipulation, sharing and exchange of multimedia data
US20020099745A1 (en) * 2001-01-23 2002-07-25 Neo-Core, L.L.C. Method and system for storing a flattened structured data document
US20040003117A1 (en) * 2001-01-26 2004-01-01 Mccoy Bill Method and apparatus for dynamic optimization and network delivery of multimedia content
JP2002236682A (ja) 2001-02-13 2002-08-23 Fuji Photo Film Co Ltd データベース・システム
US7069342B1 (en) * 2001-03-01 2006-06-27 Cisco Technology, Inc. Communication system with content-based data compression
JP4191932B2 (ja) * 2001-03-08 2008-12-03 パナソニック株式会社 メディア配信装置およびメディア配信方法
US20030028643A1 (en) * 2001-03-13 2003-02-06 Dilithium Networks, Inc. Method and apparatus for transcoding video and speech signals
US7380250B2 (en) * 2001-03-16 2008-05-27 Microsoft Corporation Method and system for interacting with devices having different capabilities
US7747781B2 (en) * 2001-04-20 2010-06-29 Palmsource Inc. Content access from a communications network using a handheld computer system and method
US7725604B1 (en) * 2001-04-26 2010-05-25 Palmsource Inc. Image run encoding
US20020174217A1 (en) * 2001-05-18 2002-11-21 Gateway, Inc. System and method for predicting network performance
US7219145B2 (en) * 2001-05-30 2007-05-15 Qualcomm Incorporated Method and apparatus for individually estimating time required to download application programs to remote modules over wireless network
EP1265398A1 (en) * 2001-06-08 2002-12-11 Hewlett Packard Company, a Delaware Corporation Proces for personalizing a transaction through an internet or intranet network
US7827257B2 (en) * 2001-06-19 2010-11-02 Intel Corporation System and method for automatic and adaptive use of active network performance measurement techniques to find the fastest source
US7043560B2 (en) * 2001-06-19 2006-05-09 Nokia, Inc. Dynamic probing and reporting of bit rate information
EP1405224B1 (en) * 2001-07-12 2007-03-28 Research In Motion Limited System and method for pushing data from an information source to a mobile communication device including transcoding of the data
US7526572B2 (en) 2001-07-12 2009-04-28 Research In Motion Limited System and method for providing remote data access for a mobile communication device
EP1853038A3 (en) * 2001-07-12 2009-04-01 Research In Motion Limited System and method for providing remote data access for a mobile communication device
US7383347B2 (en) * 2001-07-18 2008-06-03 International Business Machines Corporation Method and apparatus for providing extensible scalable transcoding of multimedia content
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US8285701B2 (en) 2001-08-03 2012-10-09 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator remote content crawler
US20030028890A1 (en) * 2001-08-03 2003-02-06 Swart William D. Video and digital multimedia acquisition and delivery system and method
US7415539B2 (en) * 2001-09-28 2008-08-19 Siebel Systems, Inc. Method and apparatus for detecting insufficient memory for data extraction processes
JP4731075B2 (ja) * 2001-09-28 2011-07-20 富士通株式会社 情報提供方法、情報提供システム、端末装置、中央装置、コンピュータプログラム、及び記録媒体
US7127503B2 (en) * 2001-10-10 2006-10-24 Juniper Networks, Inc. Computer networking system, device, and method for improved speed in web page rendering
US7356575B1 (en) 2001-11-09 2008-04-08 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user
US7730165B2 (en) 2001-11-09 2010-06-01 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US20030105880A1 (en) * 2001-12-04 2003-06-05 Koninklijke Philips Electronics N.V. Distributed processing, storage, and transmision of multimedia information
CN100531186C (zh) * 2002-04-05 2009-08-19 艾利森电话股份有限公司 通信网络中的对象传输控制
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
US7233790B2 (en) 2002-06-28 2007-06-19 Openwave Systems, Inc. Device capability based discovery, packaging and provisioning of content for wireless mobile devices
US7051040B2 (en) 2002-07-23 2006-05-23 Lightsurf Technologies, Inc. Imaging system providing dynamic viewport layering
US7558198B2 (en) * 2002-08-19 2009-07-07 Motorola, Inc. Method and apparatus for data transfer
US6832259B2 (en) * 2002-08-29 2004-12-14 Motorola, Inc. Dynamic adjustment of transmitted data size for a subscriber device
JP3760904B2 (ja) * 2002-09-06 2006-03-29 ソニー株式会社 Guiアプリケーション開発支援装置、gui表示装置、および方法、並びにコンピュータ・プログラム
JP3755500B2 (ja) 2002-09-06 2006-03-15 ソニー株式会社 Guiアプリケーション開発支援装置および方法、並びにコンピュータ・プログラム
US7574653B2 (en) * 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US8364815B2 (en) 2005-03-18 2013-01-29 Riverbed Technology, Inc. Reliability and availability of distributed servers
US8176186B2 (en) 2002-10-30 2012-05-08 Riverbed Technology, Inc. Transaction accelerator for client-server communications systems
US8069225B2 (en) * 2003-04-14 2011-11-29 Riverbed Technology, Inc. Transparent client-server transaction accelerator
KR100461019B1 (ko) * 2002-11-01 2004-12-09 한국전자통신연구원 소형 화면 단말기를 위한 웹 컨텐츠 변환 시스템 및 방법
US20040098463A1 (en) 2002-11-19 2004-05-20 Bo Shen Transcoding-enabled caching proxy and method thereof
US7426539B2 (en) * 2003-01-09 2008-09-16 Sony Computer Entertainment America Inc. Dynamic bandwidth control
JP2004227383A (ja) * 2003-01-24 2004-08-12 Ntt Docomo Inc コンテンツ配信装置及びコンテンツ配信制御方法
US7779482B1 (en) 2003-02-07 2010-08-17 iGware Inc Delivery of license information using a short messaging system protocol in a closed content distribution system
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US8131649B2 (en) 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US7075535B2 (en) * 2003-03-05 2006-07-11 Sand Codex System and method for exact rendering in a zooming user interface
US7912299B2 (en) * 2004-10-08 2011-03-22 Microsoft Corporation System and method for efficiently encoding data
US7042455B2 (en) * 2003-05-30 2006-05-09 Sand Codex Llc System and method for multiple node display
US7930434B2 (en) * 2003-03-05 2011-04-19 Microsoft Corporation System and method for managing communication and/or storage of image data
US7546419B2 (en) * 2004-06-01 2009-06-09 Aguera Y Arcas Blaise Efficient data cache
US7254271B2 (en) * 2003-03-05 2007-08-07 Seadragon Software, Inc. Method for encoding and serving geospatial or other vector data as images
US7133054B2 (en) * 2004-03-17 2006-11-07 Seadragon Software, Inc. Methods and apparatus for navigating an image
US7895513B1 (en) * 2003-05-28 2011-02-22 Adobe Systems Incorporated Color reduction in complex figures containing text for space/time constrained platforms
US9553879B2 (en) * 2003-06-06 2017-01-24 Core Wireless Licensing S.A.R.L. Method and apparatus to represent and use rights for content/media adaptation/transformation
US9100814B2 (en) 2003-09-17 2015-08-04 Unwired Plant, Llc Federated download of digital content to wireless devices
US7860309B1 (en) 2003-09-30 2010-12-28 Verisign, Inc. Media publishing system with methodology for parameterized rendering of image regions of interest
US8068436B2 (en) * 2003-10-15 2011-11-29 Microsoft Corporation Methods and systems for estimating network available bandwidth using packet pairs and spatial filtering
CN101329637B (zh) * 2003-10-31 2011-11-16 索尼株式会社 远程确定多媒体内容用户的配置的系统和方法
US7778326B1 (en) * 2003-12-23 2010-08-17 At&T Intellectual Property Ii, L.P. System and method for dynamically determining multimedia transmission based on communication bandwidth
US7343037B1 (en) 2004-02-04 2008-03-11 Microsoft Corporation Dynamic, locally-adaptive, lossless palettization of color and grayscale images
US8782281B2 (en) * 2004-03-23 2014-07-15 Cisco Technology Inc. Optimally adapting multimedia content for mobile subscriber device playback
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
US7782789B2 (en) * 2004-09-23 2010-08-24 Harris Corporation Adaptive bandwidth utilization for telemetered data
US7620068B2 (en) * 2004-11-08 2009-11-17 Harris Corporation Adaptive bandwidth utilization for telemetered data
US7610400B2 (en) * 2004-11-23 2009-10-27 Juniper Networks, Inc. Rule-based networking device
FR2879873B1 (fr) * 2004-12-17 2007-02-02 Canon Kk Procede et dispositif de transfert de donnees numeriques
EP1832079B1 (en) * 2004-12-24 2015-04-01 Telecom Italia S.p.A. Media transcoding in multimedia delivery services
US8117299B2 (en) * 2005-01-18 2012-02-14 Lenovo (Singapore) Pte. Ltd. Method and apparatus for scheduling wireless LAN traffic
US8073275B2 (en) * 2005-02-09 2011-12-06 Mobixell Networks Ltd. Image adaptation with target size, quality and resolution constraints
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
AU2006230233B2 (en) * 2005-03-29 2011-01-20 Microsoft Corp. System and method for transferring web page data
US20060235941A1 (en) * 2005-03-29 2006-10-19 Microsoft Corporation System and method for transferring web page data
AU2010201379B2 (en) * 2010-04-07 2012-02-23 Limelight Networks, Inc. System and method for delivery of content objects
US9407608B2 (en) * 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US8943304B2 (en) 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
US8583827B2 (en) 2005-05-26 2013-11-12 Citrix Systems, Inc. Dynamic data optimization in data network
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
WO2007120399A2 (en) 2006-02-24 2007-10-25 Verisign, Inc. System and method for managing distribution of multi-formatted content
US7756134B2 (en) * 2006-05-02 2010-07-13 Harris Corporation Systems and methods for close queuing to support quality of service
US20070258445A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
JP2009535735A (ja) 2006-05-02 2009-10-01 ブロードオン コミュニケーションズ コーポレーション コンテンツ・マネージメント・システムおよび方法
US7894509B2 (en) * 2006-05-18 2011-02-22 Harris Corporation Method and system for functional redundancy based quality of service
US8463843B2 (en) * 2006-05-26 2013-06-11 Riverbed Technology, Inc. Throttling of predictive ACKs in an accelerated network communication system
US8064464B2 (en) * 2006-06-16 2011-11-22 Harris Corporation Method and system for inbound content-based QoS
US7856012B2 (en) * 2006-06-16 2010-12-21 Harris Corporation System and methods for generic data transparent rules to support quality of service
US20070291768A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS
US7990860B2 (en) * 2006-06-16 2011-08-02 Harris Corporation Method and system for rule-based sequencing for QoS
US20070291656A1 (en) * 2006-06-16 2007-12-20 Harris Corporation Method and system for outbound content-based QoS
US8516153B2 (en) * 2006-06-16 2013-08-20 Harris Corporation Method and system for network-independent QoS
US7916626B2 (en) * 2006-06-19 2011-03-29 Harris Corporation Method and system for fault-tolerant quality of service
US8730981B2 (en) * 2006-06-20 2014-05-20 Harris Corporation Method and system for compression based quality of service
US20070291765A1 (en) * 2006-06-20 2007-12-20 Harris Corporation Systems and methods for dynamic mode-driven link management
US7769028B2 (en) * 2006-06-21 2010-08-03 Harris Corporation Systems and methods for adaptive throughput management for event-driven message-based data
TWI367457B (en) * 2006-07-03 2012-07-01 Nippon Telegraph & Telephone Image processing method and apparatus, image processing program, and storage medium for storing the program
US20080013559A1 (en) * 2006-07-14 2008-01-17 Smith Donald L Systems and methods for applying back-pressure for sequencing in quality of service
US20080025318A1 (en) * 2006-07-31 2008-01-31 Harris Corporation Systems and methods for dynamically customizable quality of service on the edge of a network
US8300653B2 (en) * 2006-07-31 2012-10-30 Harris Corporation Systems and methods for assured communications with quality of service
US8194589B2 (en) * 2006-09-06 2012-06-05 Devicescape Software, Inc. Systems and methods for wireless network selection based on attributes stored in a network database
US7996000B1 (en) * 2006-09-29 2011-08-09 Yahoo! Inc. Managing page sizes for a mobile device using estimation of content customizer techniques
US20080086552A1 (en) * 2006-10-09 2008-04-10 At&T Knowledge Ventures, L.P. Method and apparatus for delivering portal services
US9247259B2 (en) * 2006-10-10 2016-01-26 Flash Networks Ltd. Control of video compression based on file size constraint
US7624276B2 (en) 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US8375304B2 (en) * 2006-11-01 2013-02-12 Skyfire Labs, Inc. Maintaining state of a web page
US8443398B2 (en) * 2006-11-01 2013-05-14 Skyfire Labs, Inc. Architecture for delivery of video content responsive to remote interaction
US9247260B1 (en) * 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
US7613915B2 (en) 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
US8200961B2 (en) 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
WO2008092104A2 (en) * 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
WO2008096342A2 (en) * 2007-02-06 2008-08-14 Mobixell Networks Converting images to moving picture format
JP5116319B2 (ja) * 2007-03-06 2013-01-09 キヤノン株式会社 メッセージ中継装置及び方法
GB0708440D0 (en) * 2007-05-02 2007-06-06 Film Night Ltd Data transmission
US8082507B2 (en) * 2007-06-12 2011-12-20 Microsoft Corporation Scalable user interface
US20090017827A1 (en) * 2007-06-21 2009-01-15 Mobixell Networks Ltd. Convenient user response to wireless content messages
US8893204B2 (en) 2007-06-29 2014-11-18 Microsoft Corporation Dynamically adapting media streams
US8677241B2 (en) * 2007-09-10 2014-03-18 Vantrix Corporation Method and system for multimedia messaging service (MMS) to video adaptation
US8311058B2 (en) 2008-05-10 2012-11-13 Vantrix Corporation Modular transcoding pipeline
US8220051B2 (en) * 2007-09-28 2012-07-10 Vantrix Corporation Generation and delivery of multimedia content-adaptation notifications
US8295624B2 (en) 2007-12-03 2012-10-23 Ecole De Technologie Superieure Method and system for generating a quality prediction table for quality-aware transcoding of digital images
US20090210514A1 (en) * 2008-02-15 2009-08-20 Nokia Corporation Methods, apparatuses, computer program products, and systems for mobile web browsing
WO2009108345A2 (en) * 2008-02-27 2009-09-03 Ncomputing Inc. System and method for low bandwidth display information transport
US20090270076A1 (en) * 2008-04-29 2009-10-29 Microsoft Corporation Performance optimizer for mobile devices website
JP4913777B2 (ja) * 2008-06-03 2012-04-11 株式会社シンメトリック Webページ配信システム
US20100146388A1 (en) * 2008-12-05 2010-06-10 Nokia Corporation Method for defining content download parameters with simple gesture
US8300961B2 (en) * 2008-12-12 2012-10-30 Ecole De Technologie Superieure Method and system for low complexity transcoding of images with near optimal quality
US8316558B2 (en) * 2008-12-16 2012-11-27 Skechers U.S.A., Inc. Ii Shoe
US8723891B2 (en) * 2009-02-27 2014-05-13 Ncomputing Inc. System and method for efficiently processing digital video
US8648858B1 (en) * 2009-03-25 2014-02-11 Skyfire Labs, Inc. Hybrid text and image based encoding
US20100281138A1 (en) * 2009-04-29 2010-11-04 Paulo Lerner Froimtchuk Method and system for remote coprocessor
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files
US20110022692A1 (en) * 2009-07-24 2011-01-27 Jeyhan Karaoguz Method and system for determining and controlling user experience in a network
CA2778215C (en) 2009-12-01 2017-07-04 Vantrix Corporation System and methods for efficient media delivery using cache
US8849975B2 (en) * 2010-02-02 2014-09-30 Webtrends Inc. Method and system for test-duration estimation
US8527649B2 (en) * 2010-03-09 2013-09-03 Mobixell Networks Ltd. Multi-stream bit rate adaptation
US8244874B1 (en) 2011-09-26 2012-08-14 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
JP5516170B2 (ja) * 2010-07-14 2014-06-11 ブラザー工業株式会社 通信装置及びコンピュータプログラム
US8832709B2 (en) 2010-07-19 2014-09-09 Flash Networks Ltd. Network optimization
US20120084423A1 (en) * 2010-10-04 2012-04-05 Openwave Systems Inc. Method and system for domain based dynamic traffic steering
US8907987B2 (en) 2010-10-20 2014-12-09 Ncomputing Inc. System and method for downsizing video data for memory bandwidth optimization
US8782165B2 (en) * 2011-01-26 2014-07-15 Openwave Mobility, Inc. Method and transcoding proxy for transcoding a media stream that is delivered to an end-user device over a communications network
CN105897769B (zh) * 2011-02-11 2019-07-02 交互数字专利控股公司 用于流送内容的方法和服务器
US8688074B2 (en) 2011-02-28 2014-04-01 Moisixell Networks Ltd. Service classification of web traffic
CN102685169B (zh) * 2011-03-17 2015-05-20 腾讯科技(北京)有限公司 一种缩略图的大图预加载方法及系统
US8782532B2 (en) * 2011-06-10 2014-07-15 Qualcomm Innovation Center, Inc. Website object-request method and system
US9137551B2 (en) * 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
JP5507515B2 (ja) 2011-09-14 2014-05-28 富士フイルム株式会社 非可逆圧縮装置およびその動作制御方法ならびにその動作制御プログラム
US9465572B2 (en) 2011-11-09 2016-10-11 Microsoft Technology Licensing, Llc Dynamic server-side image sizing for fidelity improvements
US9020254B2 (en) * 2011-12-15 2015-04-28 Microsoft Technology Licensing, Llc Dynamic image quality checker for use in image transcoding
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
US9112922B2 (en) 2012-08-28 2015-08-18 Vantrix Corporation Method and system for self-tuning cache management
US8775648B1 (en) 2013-12-30 2014-07-08 Limelight Networks, Inc. Control systems and methods for cloud resource management
CN103795770B (zh) * 2012-10-26 2017-07-04 伊姆西公司 在网络基础设施中提供高速缓存服务的方法和装置
EP2728802B1 (en) * 2012-11-02 2020-08-12 Deutsche Telekom AG Method and system for network and service controlled hybrid access
US20140258382A1 (en) * 2013-02-14 2014-09-11 Tibco Software Inc. Application congestion control
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
US9338450B2 (en) 2013-03-18 2016-05-10 Ecole De Technologie Superieure Method and apparatus for signal encoding producing encoded signals of high fidelity at minimal sizes
US10609405B2 (en) 2013-03-18 2020-03-31 Ecole De Technologie Superieure Optimal signal encoding based on experimental data
US9661331B2 (en) 2013-03-18 2017-05-23 Vantrix Corporation Method and apparatus for signal encoding realizing optimal fidelity
US9552438B2 (en) * 2013-05-17 2017-01-24 Paypal, Inc. Systems and methods for responsive web page delivery based on network bandwidth
JP6146230B2 (ja) * 2013-09-19 2017-06-14 富士通株式会社 中継装置、シンクライアントシステム、中継方法および中継プログラム
KR102148001B1 (ko) * 2013-10-17 2020-08-25 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
KR20150084307A (ko) * 2014-01-13 2015-07-22 삼성전자주식회사 네트워크에서 웹 로딩 시간 제어 방법 및 장치
US9787799B2 (en) 2014-02-27 2017-10-10 Dropbox, Inc. Systems and methods for managing content items having multiple resolutions
US10885104B2 (en) 2014-02-27 2021-01-05 Dropbox, Inc. Systems and methods for selecting content items to store and present locally on a user device
US9521176B2 (en) 2014-05-21 2016-12-13 Sony Corporation System, method, and computer program product for media publishing request processing
US9414081B1 (en) * 2014-11-04 2016-08-09 Sprint Communications Company L.P. Adaptation of digital image transcoding based on estimated mean opinion scores of digital images
US20160191934A1 (en) * 2014-12-29 2016-06-30 Arris Enterprises, Inc. Method to optimize the quality of video delivered over a network
US9836528B1 (en) * 2015-07-20 2017-12-05 Google Inc. Data constrained resource access
US10645191B1 (en) * 2015-09-21 2020-05-05 Amazon Technologies, Inc. User controlled composition of content
US10198355B2 (en) 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
US10320642B2 (en) * 2017-03-24 2019-06-11 Nec Corporation Dynamic TCP proxy selection for acceleration of short network flows
US10630755B2 (en) * 2017-04-19 2020-04-21 Microsoft Technology Licensing, Llc Selective consumption of web page data over a data-limited connection
US20190180484A1 (en) * 2017-12-11 2019-06-13 Capital One Services, Llc Systems and methods for digital content delivery over a network
US10983677B2 (en) 2018-11-16 2021-04-20 Dropbox, Inc. Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01211147A (ja) 1988-02-19 1989-08-24 Fujitsu Ltd ファイル伝送方式
JPH07152668A (ja) 1993-11-26 1995-06-16 Canon Inc 情報処理装置及び通信方法
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
US5764235A (en) 1996-03-25 1998-06-09 Insight Development Corporation Computer implemented method and system for transmitting graphical images from server to client at user selectable resolution
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
JP3683051B2 (ja) 1996-10-18 2005-08-17 三菱電機株式会社 データ送信方式
JPH10164092A (ja) 1996-11-28 1998-06-19 Canon Inc データ転送装置
US6345300B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Method and apparatus for detecting a user-controlled parameter from a client device behind a proxy
US6345303B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Network proxy capable of dynamically selecting a destination device for servicing a client request
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
US6396805B2 (en) * 1997-03-25 2002-05-28 Intel Corporation System for recovering from disruption of a data transfer
US6215774B1 (en) * 1997-03-25 2001-04-10 Intel Corporation System for dynamically determining effective speed of a communication link
US6237031B1 (en) * 1997-03-25 2001-05-22 Intel Corporation System for dynamically controlling a network proxy
US6311215B1 (en) * 1997-03-25 2001-10-30 Intel Corporation System for dynamic determination of client communications capabilities
US6304904B1 (en) * 1997-03-27 2001-10-16 Intel Corporation Method and apparatus for collecting page-level performance statistics from a network device
US6247050B1 (en) * 1997-09-12 2001-06-12 Intel Corporation System for collecting and displaying performance improvement information for a computer
US6101328A (en) * 1997-12-31 2000-08-08 Intel Corporation System for preventing multiple instances of the same dynamic executable module
US6343350B1 (en) * 1998-02-13 2002-01-29 International Business Machines Corporation Conserving storage space by means of low resolution objects
JPH11250009A (ja) * 1998-03-04 1999-09-17 Uniden Corp サーバ装置及びウェブデータ変換方式
US6247048B1 (en) * 1998-04-30 2001-06-12 Openwave Systems Inc Method and apparatus for transcoding character sets between internet hosts and thin client devices over data networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030070427A (ko) * 2002-02-25 2003-08-30 삼성에스디에스 주식회사 심볼 개념을 이용한 데이터 파일의 스트리밍 전송 방법
KR100744532B1 (ko) * 2004-12-13 2007-08-02 한국전자통신연구원 프리퍼런스 정보를 이용한 웹서비스 제공방법 및 장치
KR101428671B1 (ko) * 2007-11-02 2014-09-17 에꼴 드 테크놀로지 수페리에르 스케일링 및 퀄리티-컨트롤 파라미터의 변경에 의한 변환이 가능한 이미지의 파일 사이즈 예측 시스템 및 방법

Also Published As

Publication number Publication date
DE69919474D1 (de) 2004-09-23
US6563517B1 (en) 2003-05-13
EP0992922B1 (en) 2004-08-18
ATE274207T1 (de) 2004-09-15
KR100353172B1 (ko) 2002-09-18
DE69919474T2 (de) 2005-08-18
EP0992922A3 (en) 2001-01-10
EP0992922A2 (en) 2000-04-12

Similar Documents

Publication Publication Date Title
KR100353172B1 (ko) 브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치
Han et al. Dynamic adaptation in an image transcoding proxy for mobile web browsing
JP5079128B2 (ja) 交換符号化プロキシのための方法およびシステム
US6243761B1 (en) Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
Chandra et al. JPEGCOMPRESSIONME TR ICASAQUALITY AWA REIMAGE TR ANSCODING
US8073275B2 (en) Image adaptation with target size, quality and resolution constraints
EP1832079B1 (en) Media transcoding in multimedia delivery services
US9271003B2 (en) Real-time audio or video transcoding
US20040098463A1 (en) Transcoding-enabled caching proxy and method thereof
US20110090953A1 (en) Budget encoding
US20110246673A1 (en) Method and System for Optimizing the Content and Transfer of Media Files
US8725947B2 (en) Cache control for adaptive stream player
Singh et al. PTC: Proxies that transcode and cache in heterogeneous Web client environments
CN112350998A (zh) 一种基于边缘计算的视频流传输方法
WO2003001748A1 (en) Method and apparatus for compression and decompression of data
WO2022093535A1 (en) Lightweight transcoding at edge nodes
Han Factoring a mobile client's effective processing speeed into the image transcoding decision
Tamizhselvi et al. A bayesian gaussian approach for video streaming in mobile cloud computing
Younus et al. A model for a practical evaluation of a DASH-based rate adaptive algorithm over HTTP
Pigeon et al. Optimal quality-aware predictor-based adaptation of multimedia messages
Pradhan et al. Adaptive multimedia content delivery for scalable web servers
Singhal et al. Adaptive Multimedia Services in Next-Generation Broadband Wireless Access Network
Chi et al. Pervasive web content delivery with efficient data reuse
Hung Adaptive proxy-based content transformation framework for the world-wide Web
US10708607B1 (en) Managing encoding based on performance

Legal Events

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

Payment date: 20120824

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130827

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 17