KR20000034960A - 브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치 - Google Patents
브라우징의 응답시간을 감소시키기 위한 자동적인 데이터 품질 조정 방법 및 장치 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation 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
본 발명은 문서 내부에 삽입된 이미지 객체를 변환하는 브라우저 프록시(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)
- 통신 링크를 통해 접속된 다수의 클라이언트 장치와 다수의 서버 사이에서 브라우징을 용이하게 하기 위한 트랜스코딩 프록시를 위한 방법에 있어서,상기 서버중 하나에 저장된 객체에 대한 요구를 상기 클라이언트 장치중 하나로부터 수신하는 단계;상기 객체에 대한 요구를 상기 하나의 서버로 전송하는 단계;상기 하나의 서버로부터 객체를 수신하는 단계;상기 하나의 클라이언트 장치의 사용자에 의해 지정된 선택사항(preferences)을 검사하는 단계;상기 객체의 콘텐트를 검사하는 단계;통신 네트워크 특성을 검사하는 단계;트랜스코딩 파라미터 셋트를 선택하는 단계;상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및상기 트랜스코딩된 형태를 상기 하나의 클라이언트 장치로 전송하는 단계를 포함하는 트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 네트워크 특성은 대역폭을 포함하고, 상기 네트워크 특성 검사 단계는 프록시와 상기 하나의 클라이언트 장치 사이의 대역폭뿐만 아니라 상기 하나의 서버와 프록시 사이의 네트워크 대역폭도 추정하는 단계를 포함하는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 네트워크 특성은 지연을 포함하고, 상기 네트워크 특성 검사 단계는 프록시와 상기 하나의 클라이언트 장치 사이의 지연뿐만 아니라 상기 하나의 서버와 프록시 사이의 네트워크 지연도 추정하는 단계를 포함하는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,트랜스코딩된 형태를 형성하기 위해 상기 객체에 대해 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는 단계를 더 포함하는 트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 객체의 콘텐트를 검사하는 단계는 객체의 크기를 판단하는 단계를 포함하는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 객체는 이미지 객체를 형성하는 이미지 형태로 이루어지고, 상기 방법은,상기 이미지 객체의 치수를 판단하는 단계; 및상기 이미지 객체의 압축 비율을 계산하는 단계를 더 포함하는트랜스코딩 프록시를 위한 방법.
- 제 6 항에 있어서,상기 이미지 객체의 치수는 정사각형 픽셀에서의 이미지의 영역에 의해 결정되고, 상기 압축 비율은 상기 이미지 객체의 bpp 비율에 의해 결정되는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 트랜스코딩된 형태를 형성하는 단계는 동적 적응방식을 이용하는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 트랜스코딩된 형태를 형성하는 단계는 상기 하나의 서버로부터 객체를 수신하는 단계가 완료되기 전에 시작되는트랜스코딩 프록시를 위한 방법.
- 제 9 항에 있어서,상기 수신되는 객체 형태는 JPEG 객체를 형성하는 JPEG 형태로 이루어진트랜스코딩 프록시를 위한 방법.
- 제 10 항에 있어서,상기 트랜스코딩된 형태를 형성하는 단계는 JPEG-JPEG 이미지 트랜스코딩을 수행하는 단계를 포함하고, 상기 트랜스코딩된 형태를 전송하는 단계는 상기 객체 수신 단계가 완료되기 전에 JPEG-인코딩된 출력 이미지 데이터의 적어도 하나의 MCU에서 기록출력(write out)을 시작하는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 트랜스코딩된 형태를 전송하는 단계는 수신된 객체의 초기 부분을 처리한 이후에, 그리고 상기 하나의 서버로부터 이미지 객체를 수신하는 단계가 완료되기 전에 시작되는트랜스코딩 프록시를 위한 방법.
- 제 1 항에 있어서,상기 트랜스코딩된 형태를 전송하는 단계는 상기 객체의 트랜스코딩된 형태를 형성하는 단계가 완료되기 전에 시작되는트랜스코딩 프록시를 위한 방법.
- 서버로부터 이용가능한 객체에 대한 클라이언트로부터의 요구를 충족시키는데 있어 서버로부터 수신되는 객체의 트랜스코딩된 형태를 형성하기 위한 프록시를 위한 방법에 있어서,상기 클라이언트를 위한 객체를 트랜스코딩하기 위한 파라미터를 동적으로 적응시키는 단계;상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및상기 트랜스코딩된 형태를 상기 클라이언트로 전송하는 단계를 포함하는 프록시를 위한 방법.
- 제 14 항에 있어서,상기 파라미터를 적응시키는 단계는 상기 객체의 적어도 하나의 특성을 판단하는 단계를 포함하는프록시를 위한 방법.
- 제 15 항에 있어서,상기 하나의 특성은 상기 객체의 크기 및 형태에 관한 정보를 제공하는 객체-헤더인프록시를 위한 방법.
- 제 16 항에 있어서,상기 객체의 크기를 "크기-임계치"로 불리는 임계치 파라미터에 비교하는 단계를 더 포함하는 프록시를 위한 방법.
- 제 14 항에 있어서,상기 파라미터를 적응시키는 단계는 상기 서버와 프록시 사이 또한 상기 프록시와 상기 클라이언트 사이의 현재의 네트워크 특성을 수집하는 단계를 포함하는프록시를 위한 방법.
- 제 18 항에 있어서,상기 특성중 하나는 네트워크 대역폭이고, 상기 파라미터를 적응시키는 단계는 상기 프록시와 상기 클라이언트 사이 뿐만 아니라 상기 서버와 상기 프록시 사이의 네트워크 대역폭을 추정하는 단계를 포함하는프록시를 위한 방법.
- 제 19 항에 있어서,상기 트랜스코딩된 형태는 상기 추정된 대역폭에 의존하는프록시를 위한 방법.
- 제 14 항에 있어서,상기 파라미터를 적응시키는 단계는 사용자의 선택사항을 검색하는 단계를 포함하고, 상기 트랜스코딩된 형태는 상기 선택사항에 의존하는프록시를 위한 방법.
- 제 14 항에 있어서,상기 파라미터를 적응시키는 단계는 상기 객체의 콘텐트를 검사하는 단계를 포함하는프록시를 위한 방법.
- 제 22 항에 있어서,상기 객체는 이미지 객체를 형성하는 이미지 형태로 이루어지고, 이미지 객체의 콘텐트를 검사하는 단계는 상기 이미지의 치수를 판단하는 단계를 포함하는프록시를 위한 방법.
- 제 23 항에 있어서,상기 파라미터를 적응시키는 단계는 상기 이미지 객체의 압축 비율을 판단하는 단계에 의존하는프록시를 위한 방법.
- 제 24 항에 있어서,상기 이미지 객체의 형태는 GIF이고, 상기 파라미터를 적응시키는 단계는 "GIF-임계치"로 불리는 소정의 정책 임계치에 대하여 상기 압축 비율을 비교하는 단계에 의존하는프록시를 위한 방법.
- 제 14 항에 있어서,상기 객체의 트랜스코딩된 형태의 적어도 하나의 파라미터를 예측하는 단계를 더 포함하는 프록시를 위한 방법.
- 제 26 항에 있어서,상기 트랜스코딩된 형태는 상기 객체의 원래의 형태와 동일한 것인프록시를 위한 방법.
- 제 26 항에 있어서,상기 파라미터중 적어도 하나는 상기 트랜스코딩된 형태의 크기를 포함하는프록시를 위한 방법.
- 제 26 항에 있어서,상기 파라미터중 적어도 하나는 객체를 트랜스코딩하는데 소요되는 시간을 포함하는프록시를 위한 방법.
- 객체 - 상기 객체는 초기 크기 및 치수를 갖고 있으며, 서버로부터 수신됨 - 에 대한 클라이언트로부터의 요구를 충족시키는데 있어 상기 객체의 트랜스코딩된 형태의 파라미터들을 예측하는 방법에 있어서,상기 객체의 bpp 비율을 계산하는 단계;다수의 이전에 트랜스코딩된 객체들의 일련의 통계를 수집하는 단계; 및상기 파라미터를 예측하기 위해 상기 일련의 통계 및 상기 bpp 비율을 이용하는 단계를 포함하는 방법.
- 제 30 항에 있어서,상기 파라미터중 적어도 하나는 크기이고, 상기 일련의 통계는 다수의 이전에 트랜스코딩된 객체들의 크기의 통계를 포함하는방법.
- 제 30 항에 있어서,상기 객체는 이미지 형태로 이루어지고, 상기 일련의 통계는 이미지 품질을 포함하는방법.
- 제 32 항에 있어서,상기 다수의 이전에 트랜스코딩된 객체는 한 벌의 소정의 벤치마크 이미지로부터 선택되는방법.
- 제 31 항에 있어서,상기 일련의 통계 및 bpp 비율을 이용하는 단계는 현재 트랜스코딩되는 객체의 통계를 이용하여 상기 일련의 통계를 동적으로 갱신하는 단계를 포함하는방법.
- 제 30 항에 있어서,상기 파라미터중 적어도 하나는 객체의 트랜스코딩된 형태를 형성하기 위한 지속기간이며, 상기 일련의 통계는 다수의 이전에 트랜스코딩된 객체들을 형성하기 위한 지속기간을 포함하는방법.
- 통신 네트워크를 통해 접속된 다수의 클라이언트와 다수의 서버 사이의 브라우징을 용이하게 하기 위한 트랜스코딩 프록시 시스템에 있어서,상기 서버중 하나에 저장된 객체에 대한 상기 클라이언트중 하나로부터의 요구를 수신하고, 상기 서버중 하나로부터 상기 객체를 페치하기 위한 HTTP 프록시 엔진;트랜스코딩을 위한 파라미터 셋트를 이용하여 상기 객체의 트랜스코딩된 형태를 형성하기 위한 객체 트랜스코더;트랜스코딩의 파라미터 셋트를 결정하기 위한 동적 정책 모듈;상기 객체의 특성을 수집하기 위한 이미지 크기 및 지연 예측기 모듈;상기 하나의 클라이언트의 사용자에 의해 지정된 품질 선택사항을 수집하기 위한 사용자 선택사항 모듈; 및이용가능한 네트워크 대역폭을 추정하기 위한 대역폭 추정 모듈을 포함하고,여기서, 상기 동적 정책 모듈은 사용자에 대한 만족도를 향상시키기 위한 목적으로 상기 이미지 크기 및 지연 예측기 모듈, 상기 사용자 선택사항 모듈 및 상기 대역폭 추정 모듈로부터 수신되는 입력을 이용하여 트랜스코딩의 파라미터들을 동적으로 조정하고, 상기 트랜스코딩 시스템은 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는트랜스코딩 프록시 시스템.
- 제 36 항에 있어서,상기 사용자 선택사항 모듈은,상기 클라이언트 장치중 하나의 디스플레이 크기, 해상도 및 CPU 속도와 같은 특성을 수집하고,이들 특성을 상기 동적 정책 모듈로 제공하는트랜스코딩 프록시 시스템.
- 제 36 항에 있어서,상기 대역폭 추정 모듈은,상기 하나의 서버와 상기 프록시 사이에 이전에 설정된 네트워크 접속의 트레이스를 수집하고,상기 프록시와 상기 하나의 클라이언트 사이에 이전에 설정된 네트워크 접속의 트레이스를 수집하고,이들 수집된 트레이스에 관한 통계학적 분석을 수행함으로써 객체 다운로드 시간을 추정하는트랜스코딩 프록시 시스템.
- 제 38 항에 있어서,상기 하나의 서버와 상기 프록시 사이의 대역폭을 추정하기 위해 사용되는 통계학적 분석은 수집된 트레이스로부터 결정되는 바와 같은 이전에 페치된 객체들의 다운로드 시간의 중간, 평균 또는 모드와 같은 통계학적 척도의 계산에 의존하는트랜스코딩 프록시 시스템.
- 제 38 항에 있어서,상기 프록시와 상기 하나의 클라이언트 사이의 대역폭을 추정하기 위해 사용되는 통계학적 분석은 상기 프록시와 상기 하나의 클라이언트 사이의 모든 활성적인 접속의 집합적인 대역폭의 계산에 의존하는트랜스코딩 프록시 시스템.
- 제 36 항에 있어서,사용자 지정 선택사항을 수집하기 위해 상기 하나의 클라이언트의 디스플레이 상에 슬라이드바를 디스플레이하기 위한 수단을 더 포함하는 트랜스코딩 프록시 시스템.
- 제 36 항에 있어서,상기 하나의 클라이언트의 사용자는 슬라이드바를 가진 그래픽 사용자 인터페이스를 이용하여 다운로드 시간과 데이터 품질 사이의 트레이드오프를 지정할 수 있는트랜스코딩 프록시 시스템.
- 제 41 항에 있어서,상기 하나의 클라이언트의 사용자는 원하는 출력 형태로서 칼라 또는 그레이 스케일을 선택하기 위한 특정 스위치를 포함하는, 슬라이드바를 가진 그래픽 사용자 인터페이스를 이용하여 다운로드 시간과 이미지 품질 사이의 트레이드오프를 지정할 수 있는트랜스코딩 프록시 시스템.
- 제 41 항에 있어서,상기 하나의 클라이언트의 사용자는 상기 시스템이 상기 하나의 클라이언트에 대해 대역폭의 동적 변화를 보상하기 위해 데이터 품질(및 데이터 다운로드 시간)을 자동적으로 감소시키도록 목표 응답시간을 유지하기 위한 요구를 슬라이드바를 가진 그래픽 사용자 인터페이스를 이용하여 지정할 수 있는트랜스코딩 프록시 시스템.
- 제 41 항에 있어서,상기 그래픽 사용자 인터페이스 슬라이드바는 또한, 상기 트랜스코딩 파라미터의 최적의 선택을 사용자에게 보여주기 위한 출력 인터페이스로서도 사용되는트랜스코딩 프록시 시스템.
- 트랜스코딩 프록시에서 객체의 트랜스코딩된 형태의 동적 적응을 야기시키기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 제조 물품에 있어서,상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은 컴퓨터로 하여금,프록시가 서버로부터 사용자와 관련된 객체를 수신하는 단계;상기 객체의 파라미터를 결정하는 단계;사용자의 선택사항을 검색하는 단계;현재의 네트워크 특성을 수집하는 단계;트랜스코딩 정책 임계치를 획득하는 단계;상기 객체 파라미터, 상기 사용자 선택사항, 상기 네트워크 특성 및 상기 정책 임계치에 근거하여 정책 결정을 수행하는 단계;트랜스코딩된 객체를 형성하는 단계;상기 객체에 대해 수행되는 트랜스코딩의 레벨에 관한 피드백을 사용자에게 제공하는 단계; 및상기 트랜스코딩된 객체를 사용자에게 전송하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 포함하는제조 물품.
- 트랜스코딩 프록시로 하여금 통신 네트워크를 통해 접속된 다수의 클라이언트 장치와 다수의 서버 사이에서의 브라우징을 용이하게 할 수 있도록 하기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 제조 물품에 있어서,상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은 컴퓨터로 하여금,상기 서버중 하나에 저장된 객체에 대한 상기 클라이언트 장치중 하나로부터의 요구를 수신하는 단계;상기 객체에 대한 요구를 상기 하나의 서버로 전송하는 단계;상기 하나의 서버로부터 객체를 수신하는 단계;상기 하나의 클라이언트 장치의 사용자에 의해 지정된 선택사항을 검사하는 단계;상기 객체의 콘텐트를 검사하는 단계;통신 네트워크 특성을 검사하는 단계;트랜스코딩 파라미터 셋트를 선택하는 단계;상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및상기 트랜스코딩된 형태를 상기 하나의 클라이언트로 전송하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 포함하는제조 물품.
- 제 47 항에 있어서,상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 트랜스코딩된 형태를 형성하기 위해 상기 객체에 대해 수행되는 트랜스코딩 레벨에 관한 피드백을 사용자에게 제공하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는제조 물품.
- 제 47 항에 있어서,상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 객체의 치수를 판단하는 단계와 상기 객체의 압축 비율을 계산하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는제조 물품.
- 제 47 항에 있어서,상기 제조 물품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 하나의 서버로부터 객체를 수신하는 단계가 완료되기 전에 상기 트랜스코딩된 형태를 형성하는 단계를 시작하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는제조 물품.
- 서버로부터 이용가능한 객체에 대한 클라이언트로부터의 요구를 만족시키는데 있어 프록시로 하여금 서버로부터 수신되는 객체의 트랜스코딩된 형태를 형성하도록 야기시키기 위해 그 안에 구현된 컴퓨터 판독가능 프로그램 코드 수단을 가진 컴퓨터 사용가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서,상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금,상기 클라이언트를 위해 상기 객체를 트랜스코딩하기 위한 파라미터를 동적으로 적응시키기는 단계;상기 객체의 트랜스코딩된 형태를 형성하는 단계; 및상기 트랜스코딩된 형태를 상기 클라이언트로 전송하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 포함하는컴퓨터 프로그램 제품.
- 제 51 항에 있어서,상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 상기 서버와 상기 프록시 사이 및 상기 프록시와 상기 클라이언트 사이의 현재의 네트워크 특성을 수집하는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는컴퓨터 프로그램 제품.
- 제 52 항에 있어서,상기 컴퓨터 프로그램 제품내의 상기 컴퓨터 판독가능 프로그램 코드 수단은, 컴퓨터로 하여금, 추정된 대역폭 및 사용자의 선택사항에 근거하여 트랜스코딩을 위한 파라미터를 적응시키는 단계를 실행하도록 야기시키기 위한 컴퓨터 판독가능 프로그램 코드 수단을 더 포함하는컴퓨터 프로그램 제품.
- 객체 - 상기 객체는 초기 크기 및 치수를 갖고 있으며, 서버로부터 수신됨 - 에 대한 클라이언트로부터의 요구를 충족시키는데 있어 상기 객체의 트랜스코딩된 형태의 파라미터들을 예측하기 위한 방법 단계들을 수행하기 위해 머신에 의해 실행가능한 명령어들의 프로그램을 실체적으로 구현하는 머신 판독가능 프로그램 저장 장치에 있어서,상기 방법 단계들은,상기 객체의 bpp 비율을 계산하는 단계;다수의 이전에 트랜스코딩된 객체들의 일련의 통계를 수집하는 단계; 및상기 파라미터를 예측하기 위해 상기 일련의 통계 및 상기 bpp 비율을 이용하는 단계를 포함하는프로그램 저장 장치.
- 제 54 항에 있어서,상기 일련의 통계를 이용하는 상기 방법 단계는 현재 트랜스코딩되는 객체들의 통계를 이용하여 상기 일련의 통계를 갱신하는 단계를 포함하는프로그램 저장 장치.
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)
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)
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)
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 |
-
1999
- 1999-01-29 US US09/236,622 patent/US6563517B1/en not_active Expired - Lifetime
- 1999-09-24 EP EP99307580A patent/EP0992922B1/en not_active Expired - Lifetime
- 1999-09-24 DE DE69919474T patent/DE69919474T2/de not_active Expired - Lifetime
- 1999-09-24 AT AT99307580T patent/ATE274207T1/de not_active IP Right Cessation
- 1999-10-01 KR KR1019990042239A patent/KR100353172B1/ko active IP Right Grant
Cited By (3)
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 |