KR101021321B1 - 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은객체를 생성하는 캐시 시스템 및 방법 - Google Patents

캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은객체를 생성하는 캐시 시스템 및 방법 Download PDF

Info

Publication number
KR101021321B1
KR101021321B1 KR1020037002093A KR20037002093A KR101021321B1 KR 101021321 B1 KR101021321 B1 KR 101021321B1 KR 1020037002093 A KR1020037002093 A KR 1020037002093A KR 20037002093 A KR20037002093 A KR 20037002093A KR 101021321 B1 KR101021321 B1 KR 101021321B1
Authority
KR
South Korea
Prior art keywords
components
cache
cache system
image
delete delete
Prior art date
Application number
KR1020037002093A
Other languages
English (en)
Other versions
KR20030024861A (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 KR20030024861A publication Critical patent/KR20030024861A/ko
Application granted granted Critical
Publication of KR101021321B1 publication Critical patent/KR101021321B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data

Abstract

캐시 시스템내에서 초기에는 이용가능하지 않은 객체의 요청에 상기 캐시 시스템이 응답할 수 있도록 캐시 시스템내에서 객체를 구성하는 방법 및 장치가 개시되어 있다. 본 발명의 일실시예는 이미지 파일들을 캐시하는데, 상기 이미지들은 콤포넌트들로 세분되어서 상기 콤포넌트들에 대한 식별 및 액세스가 가능한 형태로 저장된다. 상기 캐시 시스템은 객체(이미지 파일)가 캐시 메모리에 없음을 판단하고, 상기 캐시 메모리 및/또는 외부 저장소로부터 충분한 콤포넌트들을 찾아서, 상기 찾은 콤포넌트들로부터 상기 객체를 구성한다.
Figure R1020037002093
캐시 시스템, 이미지 파일

Description

캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은 객체를 생성하는 캐시 시스템 및 방법{Cache system and Method for generating uncached objects from cached and stored object components}
본 출원은 "객체생성 스마트 캐시 시스템"이라는 제목으로 200년 8월 15일자 출원된 미국 가출원 제60/225,412호에 대한 우선권을 주장한다.
본 발명은 일반적으로 데이터 프로세싱 저장소 구조 및 프로세스에 관한 것이며, 더 구체적으로는 저장된 데이터의 효율적인 액세스를 위한 캐시 메모리에 관한 것이다.
컴퓨터 및 컴퓨터 네트워크 산업의 최근 발전은, 영상, 오디오 및 문서들과 같은 객체들의 광대한 량의 데이터에 대한 고속의 액세스 요구를 더욱 증가시키게 되었다. 데이터저장능력 및 컴퓨터처리속도의 엄청난 증가는 컴퓨터 어플리케이션들이 광대한 량의 데이터를 처리하고 저장하는 것을 가능하게 함으로써 데이터 콘텐츠를 멀티미디어로 풍부하게 해준다. 이와 유사하게, 컴퓨터 네트워크의 발전 또한 통신대역폭 및 네트워크 액세스폭 모두에 대한 엄청난 증가를 이끌었다. 이러한 발전으로 인해, 엄청난 량의 정보들이 웹기반 및 기타 네트워크 어플리케이션들을 지원하는 컴퓨터들에게 흔하게 공유된다.
전형적으로, 호스트컴퓨터는 하드디스크 드라이브 또는 파일 서버와 같은 저장장치에 연결되는데, 이러한 저장장치는 객체 형태로 정보를 저장한다. 호스트컴퓨터가 데이터 객체에 대한 요청을 수신하면, 저장장치가 쿼리(query)되고 객체가 저장장치로부터 검색되어 호스트컴퓨터에 전달된다. 저장장치로부터 객체를 액세스하는데 관련된 지연을 줄이기 위해, 호스트 컴퓨터에 캐시가 자주 이용된다. 일반적으로, 캐시는 저장장치로부터 가장 자주 요청되는 객체들을 저장하는데 이용되는 좀 작은 메모리를 포함한다. 캐시된 객체들은 큰 저장장치에 저장된 객체들보다 더 빠르게 액세스될 수 있다. 따라서, 캐시된 객체들에 대한 후속 요청들은 저장장치를 액세스할 필요없이 캐시로부터 직접 신속하게 응답될 수 있다.
전형적인 캐시는 캐시가 객체에 대한 요청을 수신할 때 상기 객체가 캐시내에서 얻을 수 있는지를 판단하기 위한 이진논리기능을 포함한다. 객체가 캐시내에서 얻을 수 있다면, 캐시된 객체는 해당 요청에 응답하는데 이용된다. 객체를 캐시내에서 얻을 수 없다면, 객체 요청은 상기 객체를 저장장치로부터 검색함으로써 응답된다. 저장장치가 공통통신버스를 통해 요청한 프로세서에 연결되어 있다면, 버스의 대역폭, 버스에 연결된 다른장치들과의 경쟁 및 저장장치에 객체요청을 전달하고 요청자에게 객체를 전달하기 위해 필요한 부가적인 명령어들로 인해 객체를 검색하는데 지연이 발생할 것이다. 이러한 지연은 웹서버와 같은 저장장치가 멀리 위치하고 월드와이드웹과 같은 통신 링크에 의해 연결되어 있다면 더욱 커질 것이다.
본 발명은 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은 객체를 생성하는 캐시 시스템 및 방법에 관한 것이다. 본 발명의 일 실시예는 이미지 파일을 캐시하는데, 이미지는 콤포넌트들로 구성되고 개별 이미지 콤포넌트들에 대한 식별 및 액세스를 가능하게 하는 포맷으로 저장되어 있다.
일측면에 의하면, 재생(regenerative) 캐시 시스템은 이미지 파일과 같은 객체가 캐시메모리에 없음(miss)을 판단한다. 재생 캐시 시스템은 객체를 구성하는데 충분한 콤포넌트들을 찾는데, 콤포넌트들은 캐시 메모리내에 위치하거나 외부 저장장치내에 위치할 수 있다.
일실시예에서, 본발명의 일 특징은 처음에는 캐시에 없는 객체에 대한 객체 요청에 응답하여 재생 캐시 시스템에 의해 구성된 객체들을 재생 캐시 시스템내에 저장하는 것이다.
본발명의 또다른 특징은 캐시에 초기에는 저장되지 않은 객체에 대한 외부 요청을 예측하여 재생 캐시 시스템에 의해 객체를 요청하는 것이다. 재생 캐시 시스템은 요청될 것같은 객체를 결정하고 나서, 해당 객체가 캐시에 없는지를 판단한다. 예측한 요청의 객체가 캐시에 없다면, 재생 캐시 시스템은 해당 객체를 구성한다.
또다른 측면에 따르면, 재생 캐시 시스템은 인터페이스, 논리요소, 메모리 및 프로세서를 포함한다. 인터페이스는 재생 캐시 시스템이 객체에 대한 요청을 모니터링하고, 외부에 저장된 객체 및 콤포넌트들을 액세스하고, 객체 요청에 응답하기 위해 외부 장치들 또는 시스템들과 통신할 수 있도록 해준다. 논리요소는 요 청된 객체가 캐시에 없는지를 판단하고, 없다면 요청된 객체를 구성하기 위한 콤포넌트들을 찾는 기능을 한다. 메모리는 요청될 것 같은 객체들 및 그자체로서는 아니지만 요청된 개체들을 구성하는데 필요할 것 같은 콤포넌트들을 포함하는 객체들을 캐시에 저장한다. 프로세서는, 인터페이스, 논리요소, 메모리와 협조하여, 필요한 콤포넌트들을 액세스하고 요청된 객체들을 구성하는 기능을 한다.
본 발명의 일특징은 초기에는 캐시에 없는 JPEG 2000 이미지 파일에 대한 요청에 응답하기 위해, 캐시시스템 메모리내에 존재하거나 외부 저장 시스템 내에 존재하는 하나 이상의 JPEG 2000 이미지 파일의 콤포넌트들을 이용하여 상기 요청된 이미지 파일을 구성한다.
본 발명의 또다른 특징은 초기에 캐시에 없는 문서 파일에 대한 요청에 응답하기 위해, 캐시시스템 메모리 또는 외부 저장시스템내에 존재하는 다른 문서 파일들의 콤포넌트들을 이용하여 요청된 문서 파일을 구성한다.
본 발명의 또다른 특징은 초기에 캐시에 없는 웹페이지 파일에 대한 요청에 응답하기 위해, 캐시시스템 메모리 또는 외부 저장시스템내에 존재하는 다른 웹페이지 파일들의 콤포넌트들을 이용하여 요청된 웹페이지 파일을 구성한다.
본 발명은 첨부된 청구항들에 특정하게 지적되어 있다. 도면들은 불필요하게 크기조절되거나 부각되지 않았으며, 본 발명의 원칙을 예시하기 위해 도시되어 있다. 각 도면의 유사한 도면 부호는 대응하는 부분들을 나타낸다, 본 발명은 장점은 첨부된 도면들과 이와 관련하여 이하의 설명들을 참조함으로써 잘 이해될 수 있을 것이다.
도 1은 본 실시예에서 캐시 및 호스트 데이터 프로세서와의 관계를 도시한 데이터 프로세서 구조의 실시예를 블록도로 도시한 것이다.
도 2는 캐시를 구현한 실시예를 도시한 일반적인 블록도이다.
도 3은 데이터 객체 구조의 예를 도시한 도면이다.
도 4는 캐시에서 객체들을 구성하기 위한 프로세스의 실시예를 일반적으로 도시한 흐름도이다.
도 5는 캐시에서 객체들을 구성하기 위한 프로세스의 실시예를 좀더 자세히 설명한 흐름도이다.
도 6은 데이터 객체 구성의 예를 예시한 도면이다.
도 7은 이미지 데이터 객체의 예를 도시한 도면이다.
도 8은 또다른 이미지 데이터 객체의 예를 도시한 도면이다.
도 9는 합성문서 데이터 객체의 예를 도시한 도면이다.
도 1을 참조하면, 일실시예에서 데이터 프로세싱 시스템(20)은 제1 저장장치(22)와, 사용자 인터페이스(24)와, 하나 이상의 주변장치들(26)과 연결된다. 데이터 프로세싱 시스템(20)은 사용자 인터페이스(24)를 통해 또는 모뎀 또는 이미지 스캐너와 같은 주변장치(26)을 통해, 또는 제1 저장장치(22)로부터 메모리 판독을 통해 데이터를 수신하는데, 저장장치는 저장메모리(28)를 포함한다. 제1 저장장치(22)는 디스크 드라이브, 자기테이프드라이브, 광학디스크 드라이브, 또는 전자 메모리와 같은 임의의 데이터 저장장치일 수 있다. 데이터 프로세싱 시스템(20)은 데이터를 처리하여 단말 디스플레이와 같은 사용자 인터페이스(24), 프린터와 같은 주변장치(26), 또는 제1 저장장치(22)의 저장메모리(28)로의 메모리 기록을 통해 선택적으로 데이터를 전달한다.
데이터 프로세싱 시스템(20)은 제2저장장치(20') 및 입/출력 제어기(34)와 전기통신버스(44)를 통해 통신하는 CPU(30)을 포함한다. 제2저장장치(20')는 데이터 프로세싱 시스템(20)의 일부를 구성하고 시스템 버스(44)를 통해 직접 어드레스가능하다는 점을 제외하고는 저장 메모리(28)을 구비하는 제1 저장장치(22)와 유사하다. 입출력 제어기(34)는 제1 저장장치(22), 사용자 인터페이스(24) 및 하나 이상의 주변장치(26)을 CPU(30)에 인터페이싱시킨다. CPU(30)은 데이터를 수신하고, 처리하고, 전달한다.
CPU(30)은 또한 프로세서(38), CPU 메모리(40) 및 재생 캐시 시스템(42)를 포함한다. CPU(30)은 CPU 전기적통신버스(36)를 통해 CPU 메모리(40) 및 재생 캐시 시스템(42)와 전기적으로 통신한다. 일실시예에서, CPU(30)은, 파일서버, 워크스테이션 또는 PC와 같은 컴퓨터이고, CPU 메모리(40)은 프로세서(38)에 의해 처리된 명령어 및 데이터를 저장하기 위해 이용되는, DRAM, ROM, 레지스터 및 캐시의 임의 의 조합을 포함한다.
재생 캐시 시스템(42)의 다른 실시예들이 도시되는데, 재생 캐시 시스템(42)은 하나 이상의 CPU 메모리(40), 프로세서(38), 제1 및 제2 저장장치(22 및 22'), 입출력 제어기(34), 사용자 인터페이스(24) 및 하나 이상의 주변장치(26)로 구성된 다. 또한, 재생 캐시 시스템(42)은 하나이상의 독립형 시스템 구성요소로서 구성되며, 재생 캐시 시스템(42)은 입출력 제어기(34) 및 버스(44)를 통해 CPU(30)와 통신한다. 재생 캐시 시스템(42)은 객체를 캐시하고 본발명의 원칙에 따라 캐시되고 저장된 객체들로부터 캐시되지 않은 객체를 생성한다.
도 2를 참조하면, 재생 캐시 시스템(42)의 일실시예는 캐시메모리 요소(46), 인터페이스요소(48), 프로세서 요소(50) 및 논리 요소(52)를 포함한다. 캐시메모리 요소(46)는 인터페이스요소(48), 프로세서 요소(50) 및 논리 요소(52)와 전기적으로 연결된다.
일실시예에서, 재생 캐시 시스템(42)은 객체들을 조작하고 저장한다. 일실시예에서, 캐시메모리 요소(46)는 재생 캐시 시스템(42)이 객체들을 국부 저장할 수 있도록 해주는 저장 능력을 제공한다. 인터페이스요소(48)는 외부시스템, 장치들, 또는 구성요소들과 통신하여, 재생 캐시 시스템(42)이 입력으로서 저장 및 처리를 위한 새로운 객체들을 받아들이고 출력으로서 캐시된 객체 및/또는 캐시된 객체의 콤포넌트들을 제공할 수 있도록 해준다. 논리 요소(52)는 재생 캐시 시스템(42)이 객체를 찾아낼수 있도록 해준다. 일실시예에서, 논리 요소(52)는 객체가 캐시메모리 요소(46)내에서 얻을 수 있는지 및/또는 객체가 재생 캐시 시스템(42)의 외부에서 얻을수 있는지(객체가 각 CPU 메모리(40), 제1 및 제2 저장장치들(22, 22'), 제2 재생 캐시 시스템(42),사용자 인터페이스(24), 하나 이상의 주변장치(26)중 하나 이상에 위치할 수 있음)를 판단한다.
일실시예에서, 재생 캐시 시스템(42) 내부 및 외부에서 객체들을 찾아내는 것에 부가하여, 논리 요소(52)는 제한된 캐시 메모리(46)를 효율적인 방식(예, 미래에 요청될 가능성이 많은 것으로 판단된 아이템들을 캐시에 유지하고 미래에 요청될 가능성이 적은 아이템들은 캐시에 유지하는 않음)으로 관리하는 것에 관련된 전형적인 캐시와 유사한 기능을 수행한다. 메모리 요소(46)내에 저장된 객체들은 개별적으로 어드레스지정가능하며 메모리 위치 어드레스에 의해 직접적으로, 파일명과 같은 레퍼런스에 의해 간접적으로, 또는 가상어드레스맵 또는 어드레스 룩업테이블을 통해 참조적으로(referentially) 어드레스지정될 수 있다.
재생 캐시 시스템(42)의 요소들(46,48,50,52)은 함께 그룹화될 수 있으며 하나의 기판상에 , 하나의 모듈내에 또는 하나의 샤시내에 위치하거나, 하나 이상의 기판들, 모듈들, 또는 샤시 조합 상에 분산되어 위치하거나, 다수개의 재생 캐시 시스템(42)들에 공유될 수 있다. 공유된 요소 재생 캐시 시스템(42)의 일실시예의 한 예시에서, 제1 재생 캐시 시스템(42)의 프로세서(50)는 제2 재생 캐시 시스템(42)의 프로세서(50)로서의 역할도 한다.
도 3을 참조하면, 객체(54)는 객체(54)에 관련한 정보를 제공하는 객체 태그(56)와 객체(54)에 관련된 부가적인 정보를 포함하는 객체 페이로드(58)를 포함한다. 객체(54)는 구조화된 데이터를 기술하는 포맷을 갖는 임의의 파일을 나타낸다. 구조화된 데이터 포맷을 갖는 파일들의 예는 XML(extensible markup language) 파일, 객체 링킹 및 임베딩(Object Linking and Embeding: OLE) 구조를 이용한 파일, 다수의 이미지를 포함하는 OS/2 비트맵 파일을 포함하는 비트맵과 같은 이미지 파일, 컴퓨터 그래픽 메타파일(Computer Graphic Metafile:CGM), 플렉 시블 이미지 트랜스포트 시스템(Flexible Image Transport System:FITS) 파일, 그래픽 인터체인지 포맷(Graphics Interchange Format:GIF) 파일, 계층적 데이터 파일(Hierarchical Data File:HDF), 아도브 포스트스크립트(Adobe PostScript) 파일, 태그-이미지 파일 포맷(Tagged-Image File Format: TIFF) 파일, 이산-코사인 변환파일과 같은 압축 이미지 파일 및 JPEG 2000 파일을 포함하는 JPEG 압축 이미지 파일과 같은 웨이브-변환 이미지 파일, MP3 파일 또는 웨이브폼 오디오 파일 포맷(Wave Form Audio File Format) 파일들과 같은 오디오 파일, "집(zipped)" 파일과 같은 압축 파일, MPEG과 같은 비디오 파일 및 데이터베이스 파일 등이 있다. 객체 태그(56)는 파일 식별자, 파일종류 및 특정 파일 구성에 관련된 상세사항들 포함함으로써 특정 객체(56)를 식별하는 "메타" 데이터와 같은 정보를 포함한다.
객체 페이로드(58)는 하나이상의 콤포넌트들(60a 내지 60n, 총체적으로 60)로 이루어진다. 각각의 콤포넌트(60)는 콤포넌트 태그(62)와 콤포너트 페이로드(64)를 포함한다. 콤포넌트 태그(62)는 콤포넌트 식별자, 콤포넌트 종류, 콤포넌트 콘텐츠에 관련된 상세사항들과 같은 정보를 제공한다. 콤포넌트 페이로드(64)는 콤포넌트(60)에 관련된 부가적인 정보를 포함한다. 몇몇 실시예에서, 콤포넌트(60)는 전술한 콤포넌트(60)의 구조와 유사한 구조를 갖는 부-콤포넌트 레벨로 더 세분화될 수 있다.
XML, OLE 또는 JPEG 2000과 같은 구조화된 데이터저장 객체(54)를 나타내는 객체(54)를 이용하여, 재생 캐시 시스템(42)은 콤포넌트(60)들을 검색하고 조작하는 능력이 있다. 콤포넌트(60)가 찾아지면, 이들은 액세스되고 이후의 처리 및 표 시를 위한 다양한 방법으로 처리될 수 있다. 객체(54)는 또한 개별 객체 콤포넌트(60)들을 갱신하거나 제외하거나 재정렬함으로써 자신이 점진적으로 갱신되도록 할 수 있다.
일실시예에서, 객체(54)의 콤포넌트(60)들 각각은 개별적으로 또는 조합되어 새로운 객체(54)를 구성할 수 있다. 콤포넌트(60)들은 또한 캐시 메모리(46)내에서 가용한 객체(54)의 콤포넌트(60)들일 수 있으며, 객체(54)로부터 콤포넌트(60)들이 추출되어 조합되고 적절한 객체 태그(56)가 첨부되어 새로운 객체(54)를 생산한다.
도 4는 객체(54)를 구성하기 위해 재생 캐시 시스템에 의해 이용되는 프로세스의 실시예를 도시한다. 재생 캐시 시스템(42)은 객체(54)가 캐시 메모리(46)에 없는지를 판단한다(단계 56). 객체(54)는 외부 요청 또는 상기 객체가 포함되어 있는지를 판단하는 재생 캐시 시스템(42)으로부터 식별될 수 있으며 미래의 요청을 예측하여 캐시될 수 있다. 요청된 객체(54)가 미리 저장되어 캐시 메모리(46)내에 유지되지 않았다면 해당 객체(54)는 캐시(42)에 없다. 객체(54)가 재생 캐시 시스템(42)에 있다면, 재생 캐시 시스템(42)은 캐시 메모리(46)내로부터 요청된 객체(54)를 리턴하여 요청자(예, 프로세서(38))에 응답한다. 요청된 객체(54)가 캐시 메모리(46)에 없다면, 재생 캐시 시스템(42)은 요청된 객체(54)를 구성하기에 충분한 하나 이상의 콤포넌트(60)들을 찾아서(단계 68) 객체(54)를 구성하고(단계 70), 요청에 응답하기 위해 요청된 객체(54)를 리턴한다 (단계 74). 재생 캐시 시스템(42)이 객체(54)에 대한 요청을 받아들였기 때문에 재생 캐시 시스템 논리 요소(52)는 자신의 캐시 메모리(46) 내용 및 요청된 객체에 대해 알고 있다. 일실시예에서, 재생 캐시 시스템(42)은, 파일 테이블, 디렉토리, 또는 어드레스 맵과 같이, 캐시된 객체(54)를 추적하기 위해 사용되는 방법을 통해 자신의 캐시 메모리(46)의 콘텐츠를 판단한다. 논리 요소(52)는 객체(54)가 생성될 수 있는 콤포넌트(60)들을 판단하고 그러한 콤포넌트(60)들이 캐시 메모리(46)내에서 가용한지를 판단한다. 일실시예에서, 논리요소(52)는 파일 구조의 문법(syntax) 및 객체(54)에 대한 요청으로부터 객체(54)를 생성할 수 있는 콤포넌트(60)들을 판단한다. 파일 구조의 문법은 객체(54)의 구조적 속성을 정의하고 객체 태그(56)에 관련된 구조적 상세사항에 대한 정의와 요청된 객체(54)의 하나 이상의 콤포넌트 태그(62)를 포함할 수 있다. 객체(54)에 대한 요청은 요청된 객체(54)가 무엇인지를 식별해준다. JPEG 2000 이미지 객체(54)에 대한 요청은 예는 소스 이미지(예, 특정 사진에 관련된 컴퓨터 파일)를 식별하고 요청된 객체(54)가 어떻게 구조화되는지(예, 낮은 해상도의 콤포넌트(60)들이 높은 해상도 콤포넌트들앞에 정렬되도록 함으로써 해상도가 증가되는 구조)를 식별한다. 몇몇 실시예에서, 요청된 객체(54)는 해당 객체(54)를 생성할 수 있는 콤포넌트(60)들이 캐시 메모리(46)내에 존재하는지의 여부에 상관없이 하나 이상의 떨어진 저장장치들(22, 22',40, 42)로부터 직접 검색되어올 수 있다. 요청된 객체(54)는 충분한 통신대역폭이 이용가능하거나 캐시 메모리(46)의 사전요청된 콘텐츠가 보존되어야 한다든지와 같은 몇가지 상황하에서 하나 이상의 떨어진 저장장치들(22, 22',40, 42)로부터 직접 검색되어올 수 있다.
일실시예에서, 객체(54)는 JPEG 이미지파일이고 논리요소(52)는 객체(54)가 캐시메모리(46)에 없음을 판단하기 위해 캐시 메모리(46)내에 저장된 객체(54)들의 객체 태그(56)들을 검사한다. 객체(54)가 캐시 메모리(46)에 없다면, 재생 캐시 시스템(42)은 캐시 메모리(46)내에서 이용가능한 객체(54) 및 각 객체(54)의 콤포넌트 태그(62)들을 검사하여 상기 요청된 객체(54)에 대해 응답하기 위해 임의의 또는 모든 콤포넌트(60)들이 캐시메모리내에서 이용가능한지를 판단한다. 충분한 콤포넌트(60)들이 이용가능하다면, 콤포넌트(60)들은 객체 요청에 대해 응답하도록 객체(54)를 구성하기 위해 조합된다. 일부 콤포넌트(60)들은 캐시 메모리(46)내에서 이용가능하지만 요청된 객체(54)를 구성하기 위한 충분한 모든 콤포넌트(60)들이 없다면, 재생 캐시 시스템(42)은 캐시 메모리(46)내에서 이용가능한 이러한 콤포넌트(60)들을 국부적으로 획득하고 요청된 객체(54)를 구성하기 위해 충분한 부가적인 콤포넌트(60)들은 하나 이상의 떨어진 저장장치(22, 22',40, 42)들로부터 획득한다. 그런 후에, 재생 캐시 시스템(42)은 콤포넌트(60)들을 구성하여 요청된 객체(54)를 구성한다. 어떠한 실시예에서는 일부 또는 충분한 콤포넌트(60)들이 캐시 메모리(46)으로부터 직접 얻을수 있더라도 요청된 객체(54)는 재생 캐시 시스템(42)에 의해 구성되기 보다는 직접 저장장치로부터 판독된다.
일실시예에서, 요청된 객체(54)를 구성한 후에, 재생 캐시 시스템(42)은 미래의 요청을 만족시키기 위해 새로이 구성된 객체(54)를 저장한다. 임의의 실시예에서, 객체(54)를 구성하기 위해 사용된 콤포넌트(60)들은 복사되어 캐시 메모리(46)내에 콤포넌트(60)들로서 별도로 유지된다. 다른 실시예에서, 콤포넌트(60)들은 요청된 객체(54)를 형성하기 위해 사용되고 조합된 후에는 더 이상 저장되지 않는다. 이러한 형태의 객체 생성은 구성된 객체(54)내의 콤포넌트(60)들을 저장하는 것이 보다 효율적인 경우에 또는 재생 캐시 시스템(42)가 캐시 메모리(46)내의 콤포넌트(60)들이 더 이상 필요하지 않다고 판단했을때 이용될 수 있다.
더욱 상세히, 도 5를 참조하면, 재생 캐시 시스템(42)의 일실시예가 요청된 객체(54)를 구성하기 위해 충분한 하나 이상의 콤포넌트(60)들이 있는지를 판단한다(단계 74). 재생 캐시 시스템(42)은 파일 구조의 문법 및 객체(54)에 대한 요청으로부터 충분한 콤포넌트(60)들을 판단한다. 재생 캐시 시스템(42)은 요청된 객체(54)를 구성하기 위한 충분한 콤포넌트(60)들을 캐시 메모리(46)내에서 얻을 수 있는지 판단한다(단계 76). 충분한 콤포넌트(60)들을 캐시 메모리(46)으로부터 얻을 수 있다면, 객체(54)는 캐시 프로세서(50)에 의해 구성된다(단계 78). 콤포넌트(60)들이 캐시 메모리(46)내에서 이용가능하지 않다면, 재생 캐시 시스템(42)은 요청된 객체(54)의 어떠한 콤포넌트(60)들이 캐시 메모리(46)내에서 이용가능한지를 판단한다(단계 80). 요청된 객체(54)의 임의의 콤포넌트(60)들이 캐시 메모리(46)내에서 이용가능하다면, 재생 캐시 시스템(42)은 캐시 메모리(46)에서 이용가능하다고 판단된 콤포넌트(60)들을 요청된 객체(54)를 구성하기위한 충분한 콤포넌트(60)들에 비교함으로써 어떠한 콤포넌트(60)들이 캐시 메모리(46)내에 없는지를 판단한다(단계 82). 없는 콤포넌트(60)들을 판단한 후에, 재생 캐시 시스템(42)은 없다고 판단된 콤포넌트(60)들을 하나 이상의 떨어진 저장장치(22, 22',40,42)들로부터 검색한다(단계 84). 다시 도 1을 참조하면, 하나 이상의 떨어진 저장장치(22, 22',40,42)들은 로컬 메모리(40), 시스템 버스(44)를 통해 CPU(30)와 통신하는 로컬저장장치(22), 데이터 프로세싱 시스템(20)과 통신하는 외부저장원, 또는 또다른 재생 캐시 시스템(42)를 포함할 수 있다. 로컬 캐시 메모리(46)로부터 이용가능한 콤포넌트(60)들과 떨어진 저장장치(22, 22',40,42)들로부터 검색된 콤포넌트(60)들을 갖는 재생 캐시 시스템(42)은 요청된 객체(54)를 구성한다(단계 78). 객체(54)는 객체 요청에 응답하여 리턴될 수 있고/될 수 있거나(단계 95), 미래 요청들을 위해 캐시될 수 있다.
요청된 객체(54)의 어떠한 콤포넌트(60)도 캐시 메모리(46)내에서 이용가능하지 않다면(단계 80), 재생 캐시 시스템(42)은 요청된 객체(54)가 하나 이상의 떨어진 저장장치(22, 22',40,42)들로부터 외부적으로 이용가능한지를 판단한다(단계 86). 일실시예에서, 객체(54)가 저장장치(22, 22')중 하나에 있는 저장 메모리(28)에서 이용가능한 경우에, 그들 저장장치(22, 22')중 하나가 직접 요청에 응답할 것이기 때문에, 재생 캐시 시스템(42)은 그 요청에 응답하지 않는다. 대안적으로, 재생 캐시 시스템(42)은 요청된 객체(54)를 하나 이상의 떨어진 저장장치(22, 22',40,42)들로부터 검색하여 그것을 캐시 메모리(46)에 저장하고 미래 요청될 객체(54)에 응답할 수 있다.
이미 캐시 메모리(46)에서 어떠한 콤포넌트(60)도 이용가능하지 않은 것으로 판단된 후에, 객체(54)가 하나 이상의 떨어진 저장장치(22, 22',40,42)들에서도 이용가능하지 않다면(단계 84), 재생 캐시 시스템(42)은 요청된 객체(54)를 생성하 는데 필요한 콤포넌트(60)들이 외부적으로 하나 이상의 떨어진 저장장치(22, 22',40,42)들로부터 이용가능한지를 판단한다(단계 88). 요청된 객체(54)를 생성할 수 있는 콤포넌트(60)들이 하나 이상의 떨어진 저장장치(22, 22',40,42)들에서도 이용가능하지 않다면, 객체 요청은 만족될 수 없다(단계 90). 콤포넌트(60)들이 하나 이상의 떨어진 저장장치(22, 22',40,42)들에서 이용가능하다면, 재생 캐시 시스템(42)은 필요한 콤포넌트(60)들을 검색하여(단계 92), 요청된 객체(54)를 구성한다(단계 78). 다시, 임의의 실시예에서, 요청된 객체(54)는 객체(54)를 생성할 수 있는 임의의 콤포넌트(60)들이 캐시 메모리(46)내에 존재하는지의 여부에 관계없이 하나 이상의 떨어진 저장장치(22, 22',40,42)들로부터 직접 검색되어 올 수 있다.
일실시예에서, 재생 캐시 시스템(42)은 하나 이상의 떨어진 저장장치(22, 22',40,42)들로부터 외부적으로 검색되어 온 콤포넌트(60)들을 캐시 메모리(46) 내에 저장한다. 또다른 실시예에서, 재생 캐시 시스템(42)은 재생 캐시 시스템(42)에 의해 구성된 객체(54)를 캐시 메모리(46)내에 저장한다.
도 6a는 본 발명의 원리에 따라 재생 캐시 시스템(42)가 객체(54)를 구성하는 세가지 예를 도시한다. 이 도면은 캐시 메모리(46)과 저장 메모리(28)을 도시하는데, 캐시 메모리(46)과 저장 메모리(28) 각각은 객체(54a, 54b, 54c, 54d)의 형태로 데이터를 저장한다. 캐시 메모리(46)은 도면의 왼쪽측면과 오른쪽 측면에 두 번 도시되어 있다. 도면의 왼쪽 측면은 재생 캐시 시스템(42)가 특정 객체(54e)에 대한 요청을 수신하기 이전에 캐시 메모리(46) 및 저장 메모리(28)의 콘텐츠를 나타내는 것이다. 도면 왼쪽 측면의 캐시 메모리(46)은 재생 캐시 시스템(42)가 특정 객체(54e)에 대한 요청에 응답하고 요청된 객체(54)를 캐시한 후에 변경된 메모리 콘텐츠를 갖는 동일한 캐시 메모리(46)을 나타낸다.
이들 각각의 예를 보면, 캐시 메모리(46)는 초기에 객체(54a) 및 객체(54b)를 저장하고 있으며, 저장 메모리(28)는 객체(54c) 및 객체(54d)를 저장하고 있다. 첫 번째 예에서, 특정 객체(54e)가 요청되고 재생 캐시 시스템(42)은 특정 객체(54e)가 도면의 왼쪽에 도시된 바와 같이 캐시 메모리(46)에 없음을 판단한다. 재생 캐시 시스템(42)은 요청된 특정 객체(54e)를 생성할 수 있는 콤포넌트(60)들을 판단한다. 그리고 나서, 논리요소(52)는 요청된 특정 객체(54e)를 생성할 수 있는 콤포넌트(60)들이 캐시 메모리(46)내에 위치하고 객체(54a) 및 객체(54b)d의 객체 페이로드(58a 및 58b)내에 각각 포함되어 있는지를 판단한다. 이러한 실시예에서, 객체 페이로드(58a 및 58b)의 각각을 구성하는 콤포넌트(60)들이 요청된 특정 객체(54e)를 구성하기 위해 이용되기 때문에 특정 콤포넌트들은 도시되지 않는다. 재생 캐시 시스템(42)은 객체 페이로드(58a 및 58b)내에 포함된 콤포넌트(60)들을 취하여, 이들을 조합하고, 요청된 특정 객체(54e)에 대한 객체 태그(56)를 붙임으로써 특정 객체(54e)를 구성한다. 도면의 왼쪽 측면으로부터 오른쪽으로의 실선 화살표는 재생 캐시 시스템(42)이 특정 객체(54e)에 대한 요청에 응답하는 결과를 추적한다. 구성된 객체(54)가 객체(54a) 및 객체(54b)의 연결로서 도시되어 있지만, 최종의 특정 객체(54e)는 그 자체로 새로운 것이며 구별되는 객체이다. 실시예에 도시된 바와 같이, 특정 객체(54e)를 구성한 이후에도, 객체(54a) 및 객체(54b)는 캐시 메모리(46)내에 그대로 남아있다.
굵은 점선 화살표에 의해 도시된 두 번째 실시예에서, 특정 객체(54')가 요청되고 캐시 메모리(46)내에 없음이 발견된다. 재생 캐시 시스템(42)은 특정 객체(54e')를 생성할 수 있는 콤포넌트(60)들을 판단하고, 논리요소(52)는 캐시 메모리(46)내에서 몇몇 콤포넌트(60)들은 찾아내지만 충분한 모든 콤포넌트(60)들은 없다는 것을 발견한다. 이러한 예에서, 캐시 메모리(46)내에 위치한 콤포넌트(60)들은 객체(54b)의 객체 페이로드(58b)를 구성한다. 요청된 특정객체(54e)를 구성하기위해, 논리요소(52)는 저장메모리(28)내에서 없는 콤포넌트(60)들을 찾아내는데, 콤포넌트(60)들은 객체(54c)의 객체 페이로드(58c)내에 포함되어 있다. 객체(54b)의 캐시된 콤포넌트(60)들을 구비한 재생 캐시 시스템(42)은 저장메모리(28) 내에 위치한 없는 콤포넌트들을 획득하여, 전술한 실시예에서 특정 객체(54e)를 구성하는 것과 유사하게, 요청된 특정 객체(54e')를 구성한다.
도 6a에서 가는점선 화살표에 의해 도시된 또다른 실시예에서, 특정 객체(54'')가 요청되고 캐시 메모리(46)내에 없음이 발견된다. 재생 캐시 시스템(42)은 특정 객체(54e'')를 생성할 수 있는 콤포넌트(60)들을 판단하고, 논리요소(52)는 캐시 메모리(46)내에서 콤포넌트(60)들중 아무것도 캐시 메모리(46)내에서 얻을 수 없는지를 판단한다. 재생 캐시 시스템(42)은 특정 객체(54e'')가 저장메모리(28)내에서 얻을 수 없음을 판단하고, 논리요소(52)는 객체(54c 및 54d)의 객체 페이로드(58c 및 58d) 각각내에서 콤포넌트(60)들을 찾는다. 재생 캐시 시스템(42)은 저장메모리(28)로부터 없는 콤포넌트(60)을 획득하고 전술한 제1 및 제2 실시예에서 설명한 방법과 유사하게 상기 요청된 특정 객체(54e'')를 구성한다.
도 6b는 본발명의 원리에 따라 재생 캐시 시스템(42)이 객체(54)를 구성하는 세가지 예를 도시한다. 도 6b는 도 6a에 도시된 것과 유사하게 캐시 메모리(46) 및 저장 메모리(28)의 구성을 도시하지만, 저장된 객체(54)의 콤포넌트들을 더 구체적으로 도시한다. 세가지 실시예의 각각에서, 캐시 메모리(46) 및 저장 메모리(28)에 저장된 객체(54)들의 각각은 복수의 콤포넌트(60)들로 구성되는 것으로 도시되어 있다. 도 6a의 실시예와 유사하게, 요청된 특정객체(54e, 54e', 54e'')들은 저장된 제1 객체(54a)의 하나 이상의 콤포넌트(60)들과 저장된 제2 객체(54b, 54d)의 하나 이상의 콤포넌트(60)들을 조합되어 이루어진다.
도 6b에 관련된 실시예들의 각각에 있어서, 객체(54a) 및 객체(54b)는 처음부터 캐시 메모리(46)내에 저장되어 있고, 객체(54c) 및 객체(54d)는 처음에 저장메모리(28)내에 저장되어 있다. 재생 캐시 시스템(42)은 저장된 객체들(54)의 어떠한 콤포넌트(60)들이 요청된 특정 객체(54e, 54e' 또는 54e'')를 구성하는데 필요한지를 판단한다. 논리요소(52)는 요청된 특정 객체(54e, 54e'또는 54e'')를 구성하기위한 콤포넌트(60)들을 찾아내고 재생 캐시 시스템(42)은 요청된 특정객체(54e, 54e' 또는 54e'')을 구성한다.
제1 실시예에서, 요청된 특정 객체(54e)는 콤포넌트(60a 및 60c)로 이루어진다. 논리요소(52)는 캐시 메모리(46)에 저장된 객체(54a)내의 콤포넌트(60a)를 찾아낸다. 논리요소(52)는 또한 캐시 메모리(46)내에 저장되어 있는 객체(54b)내의 콤포넌트(60c)를 찾아낸다. 재생 캐시 시스템(42)은 객체(54a 및 54b)로부터 콤포넌트(60a 및 60c)를 각각 찾아내어 이들을 조합하고 요청된 특정 객체(54e)와 관련된 새로운 객체 태그(56)를 붙임으로써 요청된 특정 객체(54e)를 구성한다. 캐시 메모리(46)내의 객체(54a 및 54b) 내에 저장된 콤포넌트(60a 및 60c)들로부터 상기 요청에 응답하여 생성된 특정 객체(54e)로 뻗어가는 실선화살표는 상기 실시예의 요청에 관련하여 객체(54)들과 콤포넌트(60)들과의 관계를 도시한다. 이 예에서, 요청에 응답하여 구성된 특정 객체(54e)는 캐시 메모리(46)내에 저장되는 것으로 도시되어 있다.
굵은 점선 화살표에 의해 표시된 제2 실시예에서, 요청된 특정 객체(54e')는, 전술한 예에서 특정 객체(54e)를 구성하는 것과 유사하게, 재생 캐시 시스템(42)에 의해 캐시 메모리(46)내에 저장된 객체(54a)의 콤포넌트(60b)와 저장 메모리(28)내에 저장된 객체(54d)의 콤포넌트(60g)로부터 구성된다.
얇은 점선 화살표에 의해 표시된 제3 실시예에서, 요청된 특정 객체(54e'')는, 전술한 예에서 특정 객체(54e 및 54e')를 구성하는 것과 유사하게, 재생 캐시 시스템(42)에 의해 저장 메모리(28)에 저장된 객체(54c)의 콤포넌트(60f)와 또한 저장 메모리(28)내에 저장된 객체(54d)의 콤포넌트(60h)로부터 구성된다.
도 6c는 본 발명의 원리에 따라 재생 캐시 시스템(42)가 객체(54)를 구성하는 또다른 예를 도시한 것으로서 요청된 특정 객체(54)가 단일 객체의 하나 이상의 콤포넌트들로 구성된다. 제1 실시예에서, 콤포넌트(60a)로 이루어지는 객체(54e)가 요청된다. 논리요소(52)는 캐시 메모리(46)에 저장된 객체(54a)의 콤포넌트(60)로서 콤포넌트(60a)를 찾는다. 재생 캐시 시스템(42)은 객체(54a)로부터 콤포넌트(60a)를 추출하여 특정 객체(54e)에 대한 객체 태그(56)를 붙이고, 특정 객체(54e)에 대한 요청에 응답하여 특정 객체(54e)를 저장한다. 캐시 메모리(46)내의 객체(54a)내에 저장된 콤포넌트(60a)로부터 상기 요청에 응답하여 생성된 특정 객체(54e)로 뻗는 실선 화살표는 상기 실시예의 요청에 관련된어 객체(54)들과 콤포넌트(60)들과의 관계를 나타낸다.
유사하게, 제2 실시예에서, 콤포넌트(60g)로 이루어지는 객체(54e')가 요청된다. 논리요소(52)는 저장메모리(28)에 저장된 객체(54d)의 콤포넌트(60)로서 콤포넌트(60g)를 찾는다. 재생 캐시 시스템(42)은 객체(54d)로부터 콤포넌트(60g)를 추출하여 특정 객체(54e')에 대한 객체 태그(56)를 붙이고, 특정 객체(54e')에 대한 요청에 응답하여 특정 객체(54e')를 캐시 메모리(46)내에 저장한다. 저장메모리(28)내의 객체(54d)내에 저장된 콤포넌트(60g)로부터 상기 요청에 응답하여 생성된 특정 객체(54e')로 뻗는 굵은점선 화살표는 상기 실시예의 요청에 관련된어 객체(54)들과 콤포넌트(60)들과의 관계를 나타낸다.
도 7을 참조하면, 재생 캐시 시스템(42)의 일실시예에서, 요청된 객체(54)는 그래픽 이미지 파일(96)인데, 이미지 파일은 사진의 디지털 표현과 같이 그래픽 이미지를 컴퓨터 판독가능한 형태로 나타낸 것이다. 이미지 파일은 비트맵 이미지 파일과 같이 압축되지 않은 이미지 파일이거나, 이산-코사인 변환 이미지 파일 또는 웨이브렛-변환 이미지 파일과 같이 압축된 이미지 파일일 수 있다. 이미지 파일(96)은 표준 컴퓨터 디스플레이 터미널상에서 일반적으로 표현될 수 있는 것보다 더 많은 화소를 포함하는, 도로, 지형과 같은 지도이거나 날씨 지도일 수 있다. 예시적인 이미지 파일(96)은 전체로서 또는 타일(98)로서 세분되어 처리될 수 있는데, 타일들은 컴퓨터 디스플레이 터미널상에서 동시에 표시될 수 있는 이미지 파일 픽셀들의 부집합에 대응한다. 여기서, 전체 이미지 파일(96)은 하나 이상의 떨어진 저장 장치(22, 22', 40, 42)로부터 요청될 수 있으며, 개별 타일(98)들이 요구될때마다 표시되거나, 요구될 때마다 하나 이상의 떨어진 저장 장치(22, 22', 40, 42)로부터 검색되어 올 수 있다. 이미지 파일(98)의 요청자가 제1 타일(98a)을 관찰하고 나서 제2 타일(98b)을 관찰한다면, 재생 캐시 시스템(42)은 요청된 타일(98a 및 98b)을 캐시 메모리(46)내에 저장할 수 있다. 콤포넌트(60)로서 타일(98a 또는 98b)중 어느 하나를 포함하는 상이한 객체(54)에 대한 이후의 요청은 하나 이상의 떨어진 저장 장치(22, 22', 40, 42)로부터 타일(98a 및 98b)을 검색하는 대신에 캐시된 타일(98a 또는 98b)을 이용하여 캐시 메모리(46)로부터 제공될 수 있다.
도 8을 참조하면, 일실시예에서, 객체(54)는 웨이브렛-변환 압축 파일(100)이다. 웨이브렛-변환 압축 파일(100)의 일예는 JPEG 이미지(100)이다. JPEG 이미지 (100)는 JPEG 2000 압축 알고리즘이 기능하는 특성에 관련하여 다양한 카테고리의 콤포넌트(60)들로 이루어진다. JPEG 2000 압축 알고리즘은 도 7에 도시된 바와 같이 이미지(96)의 디지털 표현을 취하여 상기 이미지를 하나 이상의 타일(98)로 나눈다. JPEG 2000 압축 알고리즘은 각각의 타일(98)에 개별적으로 적용된다. 각각의 타일(98)은 함께 합쳐졌을 때 칼라 이미지를 산출하는 빨강, 초록 및 파랑 색 상 콤포넌트들과 같은 콤포넌트(102a, 102b 및 102c, 통틀어 "102")로 세분된다. 각각의 색상 콤포넌트는 웨이브렛 변환을 이용하여 변환되어 원래 이미지 파일(96)의 서브밴드(104a 내지 104j, 통틀어 "104")을 형성한다. 서브밴드(104a, 104b 및 104c)는 제1 레벨 웨이브렛 변환에 대응하고, 서브밴드(104d, 104e 및 104f)는 제2 레벨에 대응하고, 서브밴드(104g, 104h 및 104i)은 제3 레벨 웨이브렛 변환에 대응한다. 변환은 반복적으로 적용되어 서브밴드(104)의 부가적인 레벨들을 생성할 수 있다. 다양한 레벨의 서브밴드(104)들은 상이한 레벨의 이미지 해상도에 대응한다.
JPEG 이미지 알고리즘을 이미지 파일(96)에 적용하면, 각각의 색상 콤포넌트(102)의 서브밴드(104)들의 2차원 어레이가 다시 JPEG 2000 알고리즘에 의해 층 또는 코드화된 비트-플레인의 집합(106a 내지 106n)으로 나뉜다. 이들 층(106)은 이미지 질 또는 정확도의 레벨에 대응한다. 더 많은 층(106)들이 디코딩될수록, 보다 높은 질의 이미지가 표시된다.
다시 도 3을 참조하면, JPEG 2000 이미지(100)은 객체(54)에 대응하고, 타일(98), 색상 콤포넌트(102), 서브밴드(104) 및 층(106)은 콤포넌트(60)에 대응한다. JPEG 2000 알고리즘은 이미지 파일(96)을 JPEG 2000 "코드스트림"이라 불리우는 JPEG 2000 이미지(100)로 변환시킨다. 코드스트림은 기본적으로 특정의 코드스트림 헤더 또는 객체 태그(56)와 함께 특정의 순서로 배열된 콤포넌트(60)들의 집합이다. JPEG 2000 코드스트림은 또한 각각의 콤포넌트(60)에 대한 콤포넌트 태그(62)를 포함하여 그들의 식별 및 처리를 돕는다.
콤포넌트(60)들의 특정한 선택 및 정렬에 따라, JPEG 2000 코드스트림은 원 이미지 파일(96)의 상이한 압축 버전들을 포함한다. JPEG 2000 코드스트림 문법은, 색상, 해상도, 품질, 원 이미지상에서의 공간적 위치를 달리한 이미지 표현을 허용한다.
일예에서, 도 8을 다시 참조하면, 요청된 객체(54)는 JPEG 이미지(100)이고, 객체 콤포넌트(60)는 하나 이상의 타일(98)들과, 하나 이상의 색상 콤포넌트(102)들, 및/또는 하나 이상의 서브밴드(104)들, 및/또는 하나 이상의 층(106)들을 포함한다. JPEG 2000 알고리즘의 문법은 요청에 응답하여 콤포넌트(60)들의 순서를 지시한다. 요청된 객체(54)는 JPEG 2000 이미지(100)의 완전한 크기, 완전한 색상, 완전한 해상도 및 완전한 품질로 이루어질 수 있거나, JPEG 2000 이미지(100)의 완전한 크기, 완전한 색상, 완전한 해상도 및 완전한 품질의 부분집합으로 이루어질 수 있다. JPEG 2000 이미지(100)의 부분집합의 예로서, 큰 이미지의 중앙부, 색상 이미지의 흑백버전, 고해상도 이미지의 간결한(thumbnail) 버전, 또는 완전-품질 이미지의 감소된-품질 버전을 들 수 있다.
JPEG 2000 이미지(100)의 완전한 크기, 완전한 색상, 완전한 해상도 및 완전한 품질의 범위를 지정하는 것에 부가하여, 객체(54)에 대한 요청은 또한 요청된 객체 콤포넌트(60)들의 특정 순서를 지정할 수 있다. 콤포넌트(60)들의 순서는 압축해제된 JPEG 2000 이미지(100)의 표현에 영향을 준다. 콤포넌트(60)들은 타일(98)들과 관련하여 정렬되어 점진적인 크기의 표현 또는 이미지 상의 위치에 따라 점차적으로 변하는(예, 중앙 타일(98)에서 시작하여 이미지 경계선으로 향하 는 외부방향으로 남아있는 타일(98)들로 진행하는) 표현을 생성할 수 있다. 콤포넌트(60)들은 또한 색상 콤포넌트(102)들에 관련하여 정렬되어 점진적인 색상의 (예, 흑백 버전에서 시작하여, 2중 칼라 이미지로 진행하고 궁극적으로는 완전 칼라 이미지로 진행하는) 표현을 생성할 수 있다. 대안적으로, 콤포넌트(60)들은 서브밴드(104)에 관련하여 정렬되어 점진적인 해상도의(예, 낮은 해상도 이미지에서 시작하여 점차 높은 해상도로 진행하여 궁극적으로는 요청된 객체(54)의 해상도 레벨까지 진행하는) 표현을 생성할 수 있다. 또한, 콤포넌트(60)들은 층(106)들에 관련하여 정렬되어 점진적인 품질의(예, 낮은 질의 이미지에서 시작하여, 점차 높은 질의 이미지로 진행하여 궁극적으로는 요청된 객체(54)의 품질 레벨까지 진행하는) 표현을 생성할 수 있다.
완전한 크기, 완전한 색상, 완전한 해상도 및 완전한 품질의 JPEG 2000 이미지의 선택된 부분이 이전에 지정된 표현 모드중 어느 하나로 표현되거나, 요청된 JPEG 2000 이미지의 상이한 세그먼트들이 다양한 크기, 색상, 해상도 또는 품질로 표현될 때 다양한 변형이 가능하다. 하나의 예로서 높은 해상도에서 제공되는 중앙 영역과 같은 부영역을 갖는 저해상도 이미지를 들 수 있다.
제1 예에서, 재생 캐시 시스템(42)은 캐시 메모리(46)내에 JPEG 2000 이미지 파일(100)의 특정 표현을 정의하는 콤포넌트(60)들의 순서화된 집합을 포함하는 제1 객체(54)를 포함한다. 제1 예에서, 제1 객체(54)는 완전한 크기, 완전한 색상, 완전한 해상도 및 완전한 품질의 JPEG 2000 이미지 파일(100)이고, 점진적인 해상도로 순서화되어 있다. 제1 이미지(54)의 저해상도 버전에 대한 요청과 같이, 제1 객체에 관련된 제2 객체(54)에 대한 후속 요청이 수신되면, 재생 캐시 시스템(42)은 저해상도의 제2 이미지(54)를 구성하기 위해 필요한 콤포넌트(60)들이 캐시 메모리(46)내에 있음을 안다. 그런 후에, 재생 캐시 시스템(42)은 캐시된 제1 객체(54)로부터 필요한 콤포넌트(60)들을 찾아서 제2 객체(54)를 구성한다.
또다른 예에서, 캐시 메모리(46)내에 저장된 제1 객체(54)는, JPEG 2000 이미지 파일(100)의 감소된 해상도의 또는 간결한 표현이다. 후속하여, 제1 객체(54)의 간결한 표현이 획득된 JPEG 2000 이미지(100)의 완전한 해상도 표현에 대한 요청과 같이, 제1 객체(54)에 관련된 제2 객체(54)에 대한 요청이 수신된다. 재생 캐시 시스템(42)은 자신에 캐시 메모리(46) 내에 저장된 제2 요청 객체(54)에 대한 간결한 콤포넌트(60)(낮은 서브밴드(104))을 가지고 있음을 인식한다. 재생 캐시 시스템(42)은 간결한 콤포넌트(60)들과 조합하여 요청된 제2 객체(54)를 구성하는데 충분한 부가적인 콤포넌트(60)들을 판단한 후에 이러한 부가적인 콤포넌트(60)들을 하나 이상의 저장장치(22,22', 40, 42)로부터 얻는다. 재생 캐시 시스템(42)은 색상, 품질 또는 콤포넌트(60)들의 표현 순서에서 제1 객체(54)와 상이한 제2 객체(54)에 대한 요청에 대해 처리해줄 수 있다.
도 9를 참조하면, 또다른 실시예에서, 객체(54)는 합성문서(108)이다. 합성 문서(108)는 다수의 문서 콤포넌트들(60a 내지 60d, 통틀어 "60")로 이루어진다. 문서 콤포넌트(60)은 임의 식별가능한 파일의 서브섹션을 나타낸다. 문서 콤포넌트(60)들의 각각은 그래픽, 스프레드쉬트, 챕터(chapter), 섹션, 텍스트의 페이지, 슬라이드 ,차트, 그래프, 도면 및 테이블을 포함한다. 합성문서의 예는 워드프로 세싱 문서, OLE 문서, 웹문서 및 슬라이드 프레젠테이션을 포함한다. 합성문서(108)의 다른 예로서 오디오 파일을 포함하며, 문서 콤포넌트(60)들이 오디오 콤팩트 디스크의 여러 노래 컴파일레이션중에서 각각의 노래 또는 노래의 일부, MP3 파일과 같은 압축 디지털 오디오 파일, 또는 다중트랙 레코딩의 개별 트랙을 나타낸다.
일예에서, 합성문서(108)는 OLE 문서이고 문서 콤포넌트(60)은 임베딩된(embedded) 스프레드쉬트이다. 데이터 처리 시스템(20)은 재생 캐시 시스템(42) 내에 스프레드쉬트 문서 콤포넌트(60)을 포함하는 합성 문서(108)를 검색함으로써 제1 합성 문서108)에 대한 요청에 응답한다. 재생 캐시 시스템(42)은 합성 문서(108)를 리턴하고 합성 문서(108)와 콤포넌트(60)을 각각 캐시할 수 있다. 데이터 처리시 시스템(20)이 제1 문서(108)와는 상이하지만 동일한 임베딩된 스프레드쉬트 문서 콤포넌트(60)을 포함하는 제2 문서(108)에 대한 요청을 이후에 수신하면, 재생 캐시 시스템(42)은 제2 합성 문서(108)은 캐시되지 않았으나 임베딩된 스프레드쉬트 콤포넌트(60)은 캐시되어 있고 제1 합성 문서(108)내에 포함되어 있음(또는 분리되어 캐시되어 있다면 합성 문서(108)와 콤포넌트(60) 내에 분리되어 포함되어 있음)을 판단한다. 재생 캐시 시스템(42)은, 이미 캐시된 스프레드쉬트 문서 콤포넌트(60)를 제외하고, 제2의 요청된 합성 문서를 위한 충분한 문서 콤포넌트(60)들을 검색한다. 재생 캐시 시스템(42)은 캐시된 스프레드쉬트 문서 콤포넌트(60)과 저장장치로부터 검색된 나머지 문서 콤포넌트(60)들을 조합하여 제2의 요청된 합성 문서(108)를 생성한다. 재생 캐시 시스템(42)은 이후의 요청을 처리 하기 위해 제2 합성 문서(108)의 일부 또는 전무를 캐시할지를 판단한다. 재생 캐시 시스템(42)에 의해 유사하게 처리되는 합성 문서의 다른 예로서, 콤포넌트(60)이 임베딩된 HTML 문서와 같은 웹 합성 문서(108)가 있다. 웹 합성 문서(108)의 콤포넌트들은 그래픽 콤포넌트, 텍스트 블록 콤포넌트, 프레임 및 애플릿과 같은 아이템들을 포함한다.
바람직한 실시예와 관련하여 본 발명을 설명하였지만, 본 기술분야의 당업자라면 첨부된 청구범위의 범위 및 정신 내에서 다양한 변형이 가능함을 이해할 수 있을 것이다. 따라서, 본 발명은 첨부된 청구범위에 의해서만 제한될 것이다.

Claims (38)

  1. 캐시를 구비한 데이터 처리 시스템에서 캐시되지 않은(uncached) 이미지를 생성하는 방법에 있어서,
    (a) 캐시되지 않은 이미지에 관련된 제1 콤포넌트를 찾는 단계로서, 상기 제1 콤포넌트는 콤포넌트 태그와 콤포넌트 페이로드를 포함하며, 상기 콤포넌트 페이로드는 이미지 정보를 포함하며, 상기 제1 콤포넌트는 캐시 또는 저장 시스템에 존재하며,
    (b) 상기 캐시, 상기 저장 시스템 또는 다른 저장 시스템에 있는 캐시되지 않은 이미지에 관련된 제2 콤포넌트를 찾는 단계로서, 상기 제2 콤포넌트는 제2 콤포넌트 태그와 제2 콤포넌트 페이로드를 포함하며, 상기 제2 콤포넌트 페이로드는 적어도 부가적인 이미지 정보를 포함하며,
    (c) 상기 캐시에 의해, 적어도 상기 찾아진 제1 및 제2 콤포넌트로부터 상기 캐시되지 않은 이미지를 구성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 찾아진 제1 및 제2 콤포넌트를 획득하는 단계를 더 포함하는 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 객체로부터 상기 제1 및 제2 콤포넌트들 중의 하나 또는 그 이상을 유도해내는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 캐시에 상기 구성된 객체를 저장하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 캐시에 의해, 상기 이미지에 대한 요청을 생성하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 이미지는 이미지 파일인 방법.
  9. 제8항에 있어서, 상기 이미지 파일은 JPEG 2000 파일인 방법.
  10. 제1항에 있어서, 상기 콤포넌트들은 이미지 파일을 구성하는 방법.
  11. 제10항에 있어서, 상기 이미지 파일은 JPEG-2000 파일인 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
KR1020037002093A 2000-08-15 2001-08-08 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은객체를 생성하는 캐시 시스템 및 방법 KR101021321B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22541200P 2000-08-15 2000-08-15
US60/225,412 2000-08-15
PCT/US2001/041608 WO2002015011A2 (en) 2000-08-15 2001-08-08 Cache system and method for generating uncached objects from cached and stored object components

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020107026935A Division KR101081296B1 (ko) 2000-08-15 2001-08-08 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은 객체를 생성하는 데이터 프로세싱 시스템 및 정보 저장 매체

Publications (2)

Publication Number Publication Date
KR20030024861A KR20030024861A (ko) 2003-03-26
KR101021321B1 true KR101021321B1 (ko) 2011-03-11

Family

ID=22844765

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020037002093A KR101021321B1 (ko) 2000-08-15 2001-08-08 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은객체를 생성하는 캐시 시스템 및 방법
KR1020107026935A KR101081296B1 (ko) 2000-08-15 2001-08-08 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은 객체를 생성하는 데이터 프로세싱 시스템 및 정보 저장 매체

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107026935A KR101081296B1 (ko) 2000-08-15 2001-08-08 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은 객체를 생성하는 데이터 프로세싱 시스템 및 정보 저장 매체

Country Status (8)

Country Link
US (3) US7006099B2 (ko)
EP (3) EP2698719B1 (ko)
JP (4) JP2004506978A (ko)
KR (2) KR101021321B1 (ko)
AU (4) AU2001283542B2 (ko)
CA (1) CA2416839C (ko)
ES (1) ES2612121T3 (ko)
WO (1) WO2002015011A2 (ko)

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006099B2 (en) 2000-08-15 2006-02-28 Aware, Inc. Cache system and method for generating uncached objects from cached and stored object components
US20020184612A1 (en) * 2001-06-01 2002-12-05 Hunt Joseph R. Runtime configurable caching for component factories
US7444393B2 (en) 2001-10-30 2008-10-28 Keicy K. Chung Read-only storage device having network interface, a system including the device, and a method of distributing files over a network
US7283135B1 (en) * 2002-06-06 2007-10-16 Bentley Systems, Inc. Hierarchical tile-based data structure for efficient client-server publishing of data over network connections
US7734824B2 (en) 2002-10-18 2010-06-08 Ricoh Co., Ltd. Transport of reversible and unreversible embedded wavelets
US7401221B2 (en) * 2002-09-04 2008-07-15 Microsoft Corporation Advanced stream format (ASF) data stream header object protection
JP4135888B2 (ja) * 2002-09-18 2008-08-20 株式会社リコー 画像処理装置、画像処理方法、プログラム及び記憶媒体
US7761459B1 (en) 2002-10-15 2010-07-20 Ximpleware, Inc. Processing structured data
FR2853788A1 (fr) * 2003-04-08 2004-10-15 Canon Kk Procede et dispositif d'acces a un document numerique dans un reseau de communication du type poste a poste
US7069351B2 (en) 2003-06-02 2006-06-27 Chung Keicy K Computer storage device having network interface
FR2860935B1 (fr) * 2003-10-09 2006-03-03 Canon Kk Procede et dispositif de traitement de donnees numeriques
CN101010694A (zh) * 2005-06-30 2007-08-01 奥林巴斯株式会社 检索系统以及检索方法
US8196123B2 (en) * 2007-06-26 2012-06-05 Microsoft Corporation Object model for transactional memory
US8028090B2 (en) 2008-11-17 2011-09-27 Amazon Technologies, Inc. Request routing utilizing client location information
US7991910B2 (en) 2008-11-17 2011-08-02 Amazon Technologies, Inc. Updating routing information based on client location
US8769185B2 (en) * 2007-10-23 2014-07-01 Keicy Chung Computer storage device having separate read-only space and read-write space, removable media component, system management interface, and network interface
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US8447831B1 (en) 2008-03-31 2013-05-21 Amazon Technologies, Inc. Incentive driven content delivery
US8533293B1 (en) 2008-03-31 2013-09-10 Amazon Technologies, Inc. Client side cache management
US8321568B2 (en) 2008-03-31 2012-11-27 Amazon Technologies, Inc. Content management
US7962597B2 (en) 2008-03-31 2011-06-14 Amazon Technologies, Inc. Request routing based on class
US8156243B2 (en) * 2008-03-31 2012-04-10 Amazon Technologies, Inc. Request routing
US7970820B1 (en) 2008-03-31 2011-06-28 Amazon Technologies, Inc. Locality based content distribution
US8601090B1 (en) 2008-03-31 2013-12-03 Amazon Technologies, Inc. Network resource identification
US9407681B1 (en) 2010-09-28 2016-08-02 Amazon Technologies, Inc. Latency measurement in resource requests
US9912740B2 (en) 2008-06-30 2018-03-06 Amazon Technologies, Inc. Latency measurement in resource requests
US7925782B2 (en) 2008-06-30 2011-04-12 Amazon Technologies, Inc. Request routing using network computing components
US8065417B1 (en) 2008-11-17 2011-11-22 Amazon Technologies, Inc. Service provider registration by a content broker
US8073940B1 (en) 2008-11-17 2011-12-06 Amazon Technologies, Inc. Managing content delivery network service providers
US8521880B1 (en) 2008-11-17 2013-08-27 Amazon Technologies, Inc. Managing content delivery network service providers
US8732309B1 (en) 2008-11-17 2014-05-20 Amazon Technologies, Inc. Request routing utilizing cost information
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
US8060616B1 (en) 2008-11-17 2011-11-15 Amazon Technologies, Inc. Managing CDN registration by a storage provider
US20100162126A1 (en) * 2008-12-23 2010-06-24 Palm, Inc. Predictive cache techniques
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8688837B1 (en) 2009-03-27 2014-04-01 Amazon Technologies, Inc. Dynamically translating resource identifiers for request routing using popularity information
US8756341B1 (en) 2009-03-27 2014-06-17 Amazon Technologies, Inc. Request routing utilizing popularity information
US8412823B1 (en) 2009-03-27 2013-04-02 Amazon Technologies, Inc. Managing tracking information entries in resource cache components
US9076239B2 (en) * 2009-04-30 2015-07-07 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
WO2010140999A1 (en) * 2009-06-03 2010-12-09 Thomson Licensing Method and apparatus for constructing composite video images
US8782236B1 (en) 2009-06-16 2014-07-15 Amazon Technologies, Inc. Managing resources using resource expiration data
EP2271058A1 (de) * 2009-07-03 2011-01-05 Siemens Aktiengesellschaft Einrichtung und Verfahren zur Verteilung und Weiterleitung von Anforderungen zu einer Mehrzahl von Web-Servern in einer industriellen Automatisierungsanordnung
US8397073B1 (en) 2009-09-04 2013-03-12 Amazon Technologies, Inc. Managing secure content in a content delivery network
US8433771B1 (en) 2009-10-02 2013-04-30 Amazon Technologies, Inc. Distribution network with forward resource propagation
US9495338B1 (en) 2010-01-28 2016-11-15 Amazon Technologies, Inc. Content distribution network
US8805048B2 (en) 2010-04-01 2014-08-12 Mark Batesole Method and system for orthodontic diagnosis
US8756272B1 (en) 2010-08-26 2014-06-17 Amazon Technologies, Inc. Processing encoded content
US10089711B2 (en) * 2010-09-03 2018-10-02 Adobe Systems Incorporated Reconstructable digital image cache
US10097398B1 (en) 2010-09-28 2018-10-09 Amazon Technologies, Inc. Point of presence management in request routing
US9712484B1 (en) 2010-09-28 2017-07-18 Amazon Technologies, Inc. Managing request routing information utilizing client identifiers
US9003035B1 (en) 2010-09-28 2015-04-07 Amazon Technologies, Inc. Point of presence management in request routing
US8938526B1 (en) 2010-09-28 2015-01-20 Amazon Technologies, Inc. Request routing management based on network components
US8930513B1 (en) 2010-09-28 2015-01-06 Amazon Technologies, Inc. Latency measurement in resource requests
US8577992B1 (en) 2010-09-28 2013-11-05 Amazon Technologies, Inc. Request routing management based on network components
US10958501B1 (en) 2010-09-28 2021-03-23 Amazon Technologies, Inc. Request routing information based on client IP groupings
US8468247B1 (en) 2010-09-28 2013-06-18 Amazon Technologies, Inc. Point of presence management in request routing
US8819283B2 (en) 2010-09-28 2014-08-26 Amazon Technologies, Inc. Request routing in a networked environment
US8924528B1 (en) 2010-09-28 2014-12-30 Amazon Technologies, Inc. Latency measurement in resource requests
US8452874B2 (en) 2010-11-22 2013-05-28 Amazon Technologies, Inc. Request routing processing
US8626950B1 (en) 2010-12-03 2014-01-07 Amazon Technologies, Inc. Request routing processing
US9391949B1 (en) 2010-12-03 2016-07-12 Amazon Technologies, Inc. Request routing processing
US9100377B2 (en) * 2010-12-09 2015-08-04 Fujifilm North America Corporation System and method for providing caching and pre-fetch of assets/media
US9075893B1 (en) * 2011-02-25 2015-07-07 Amazon Technologies, Inc. Providing files with cacheable portions
US10467042B1 (en) 2011-04-27 2019-11-05 Amazon Technologies, Inc. Optimized deployment based upon customer locality
WO2013073114A1 (en) 2011-11-18 2013-05-23 International Business Machines Corporation Reading files stored on a storage system
US8904009B1 (en) 2012-02-10 2014-12-02 Amazon Technologies, Inc. Dynamic content delivery
US10021179B1 (en) 2012-02-21 2018-07-10 Amazon Technologies, Inc. Local resource delivery network
US9172674B1 (en) 2012-03-21 2015-10-27 Amazon Technologies, Inc. Managing request routing information utilizing performance information
US10623408B1 (en) 2012-04-02 2020-04-14 Amazon Technologies, Inc. Context sensitive object management
US9154551B1 (en) 2012-06-11 2015-10-06 Amazon Technologies, Inc. Processing DNS queries to identify pre-processing information
US9525659B1 (en) 2012-09-04 2016-12-20 Amazon Technologies, Inc. Request routing utilizing point of presence load information
US9135048B2 (en) 2012-09-20 2015-09-15 Amazon Technologies, Inc. Automated profiling of resource usage
US9323577B2 (en) 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9294391B1 (en) 2013-06-04 2016-03-22 Amazon Technologies, Inc. Managing network computing components utilizing request routing
GB2520061B (en) * 2013-11-08 2016-02-24 Exacttrak Ltd Data accessibility control
US9582160B2 (en) 2013-11-14 2017-02-28 Apple Inc. Semi-automatic organic layout for media streams
US9489104B2 (en) 2013-11-14 2016-11-08 Apple Inc. Viewable frame identification
US20150254806A1 (en) * 2014-03-07 2015-09-10 Apple Inc. Efficient Progressive Loading Of Media Items
US10097448B1 (en) 2014-12-18 2018-10-09 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10033627B1 (en) 2014-12-18 2018-07-24 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10091096B1 (en) 2014-12-18 2018-10-02 Amazon Technologies, Inc. Routing mode and point-of-presence selection service
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
US9887932B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9819567B1 (en) 2015-03-30 2017-11-14 Amazon Technologies, Inc. Traffic surge management for points of presence
US9887931B1 (en) 2015-03-30 2018-02-06 Amazon Technologies, Inc. Traffic surge management for points of presence
US9832141B1 (en) 2015-05-13 2017-11-28 Amazon Technologies, Inc. Routing based request correlation
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US10097566B1 (en) 2015-07-31 2018-10-09 Amazon Technologies, Inc. Identifying targets of network attacks
JP2017033446A (ja) * 2015-08-05 2017-02-09 株式会社リコー 情報処理システム、情報処理システムの制御方法、及びプログラム
US9794281B1 (en) 2015-09-24 2017-10-17 Amazon Technologies, Inc. Identifying sources of network attacks
US9742795B1 (en) 2015-09-24 2017-08-22 Amazon Technologies, Inc. Mitigating network attacks
US9774619B1 (en) 2015-09-24 2017-09-26 Amazon Technologies, Inc. Mitigating network attacks
US10270878B1 (en) 2015-11-10 2019-04-23 Amazon Technologies, Inc. Routing for origin-facing points of presence
US10257307B1 (en) 2015-12-11 2019-04-09 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10049051B1 (en) 2015-12-11 2018-08-14 Amazon Technologies, Inc. Reserved cache space in content delivery networks
US10348639B2 (en) 2015-12-18 2019-07-09 Amazon Technologies, Inc. Use of virtual endpoints to improve data transmission rates
US10075551B1 (en) 2016-06-06 2018-09-11 Amazon Technologies, Inc. Request management for hierarchical cache
US10110694B1 (en) 2016-06-29 2018-10-23 Amazon Technologies, Inc. Adaptive transfer rate for retrieving content from a server
US9992086B1 (en) 2016-08-23 2018-06-05 Amazon Technologies, Inc. External health checking of virtual private cloud network environments
US10033691B1 (en) 2016-08-24 2018-07-24 Amazon Technologies, Inc. Adaptive resolution of domain name requests in virtual private cloud network environments
CN109643316A (zh) * 2016-08-25 2019-04-16 皇家飞利浦有限公司 将空间数据存储在数据库中/从数据库中检索空间数据
US10469513B2 (en) 2016-10-05 2019-11-05 Amazon Technologies, Inc. Encrypted network addresses
KR20180067221A (ko) * 2016-12-12 2018-06-20 에이치피프린팅코리아 주식회사 인쇄 데이터를 프린터로 전송하는 호스트 디바이스 및 호스트 디바이스가 인쇄 데이터를 인코딩하는 방법
US10831549B1 (en) 2016-12-27 2020-11-10 Amazon Technologies, Inc. Multi-region request-driven code execution system
US10372499B1 (en) 2016-12-27 2019-08-06 Amazon Technologies, Inc. Efficient region selection system for executing request-driven code
US10938884B1 (en) 2017-01-30 2021-03-02 Amazon Technologies, Inc. Origin server cloaking using virtual private cloud network environments
US10503613B1 (en) 2017-04-21 2019-12-10 Amazon Technologies, Inc. Efficient serving of resources during server unavailability
US11075987B1 (en) 2017-06-12 2021-07-27 Amazon Technologies, Inc. Load estimating content delivery network
US10447648B2 (en) 2017-06-19 2019-10-15 Amazon Technologies, Inc. Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP
US10742593B1 (en) 2017-09-25 2020-08-11 Amazon Technologies, Inc. Hybrid content request routing system
US10592578B1 (en) 2018-03-07 2020-03-17 Amazon Technologies, Inc. Predictive content push-enabled content delivery network
US10862852B1 (en) 2018-11-16 2020-12-08 Amazon Technologies, Inc. Resolution of domain name requests in heterogeneous network environments
US11025747B1 (en) 2018-12-12 2021-06-01 Amazon Technologies, Inc. Content request pattern-based routing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061715A (en) 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6192382B1 (en) 1997-09-24 2001-02-20 Mediaone Group, Inc. Method and system for web site construction using HTML fragment caching
US6314452B1 (en) 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network
US6363418B1 (en) 1998-10-16 2002-03-26 Softbook Press, Inc. On-line image caching control for efficient image display

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1215539B (it) * 1987-06-03 1990-02-14 Honeywell Inf Systems Memoria tampone trasparente.
JPH02178878A (ja) 1988-12-29 1990-07-11 Nec Corp イメージ情報格納方式
JPH0524452A (ja) 1991-03-28 1993-02-02 Mazda Motor Corp 車両のパワートレイン構造
US5263136A (en) * 1991-04-30 1993-11-16 Optigraphics Corporation System for managing tiled images using multiple resolutions
JPH0535563A (ja) 1991-07-30 1993-02-12 Nec Corp イメージ情報の管理方法
JPH06119218A (ja) 1992-10-08 1994-04-28 Nippon Telegr & Teleph Corp <Ntt> ファイルキャッシュ制御方法
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5832219A (en) * 1994-02-08 1998-11-03 Object Technology Licensing Corp. Distributed object networking service
JP2658902B2 (ja) 1994-10-04 1997-09-30 日本電気株式会社 画像生成装置
US5963981A (en) * 1995-10-06 1999-10-05 Silicon Graphics, Inc. System and method for uncached store buffering in a microprocessor
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US5987567A (en) * 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US5974572A (en) * 1996-10-15 1999-10-26 Mercury Interactive Corporation Software system and methods for generating a load test using a server access log
JPH1188866A (ja) 1997-07-18 1999-03-30 Pfu Ltd 高精細画像表示装置及びそのプログラム記憶媒体
JP4010024B2 (ja) 1997-09-02 2007-11-21 ソニー株式会社 圧縮動画像信号のデコード装置
GB2332289A (en) * 1997-12-11 1999-06-16 Ibm Handling processor-intensive data processing operations
US6343350B1 (en) 1998-02-13 2002-01-29 International Business Machines Corporation Conserving storage space by means of low resolution objects
JP2000029448A (ja) 1998-07-13 2000-01-28 Toshiba Corp 画像情報提供システム、画像情報表示端末およびサーバ装置
US6661904B1 (en) * 1998-07-15 2003-12-09 Personalogo Method and system for automated electronic conveyance of hidden data
US6470436B1 (en) * 1998-12-01 2002-10-22 Fast-Chip, Inc. Eliminating memory fragmentation and garbage collection from the process of managing dynamically allocated memory
JP4270623B2 (ja) 1999-01-13 2009-06-03 三菱電機株式会社 時系列データ蓄積配信システム
US6631205B1 (en) * 1999-01-13 2003-10-07 Canon Kabushiki Kaisha Stereoscopic imaging in a portable document format
US6553393B1 (en) * 1999-04-26 2003-04-22 International Business Machines Coporation Method for prefetching external resources to embedded objects in a markup language data stream
US6480200B1 (en) * 2000-06-09 2002-11-12 Hewlett-Packard Company Method and apparatus for deferred texture validation on a multi-tasking computer
US7006099B2 (en) 2000-08-15 2006-02-28 Aware, Inc. Cache system and method for generating uncached objects from cached and stored object components
US7006009B2 (en) 2002-04-01 2006-02-28 Key Energy Services, Inc. Servicing system for wells

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192382B1 (en) 1997-09-24 2001-02-20 Mediaone Group, Inc. Method and system for web site construction using HTML fragment caching
US6061715A (en) 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
US6363418B1 (en) 1998-10-16 2002-03-26 Softbook Press, Inc. On-line image caching control for efficient image display
US6314452B1 (en) 1999-08-31 2001-11-06 Rtimage, Ltd. System and method for transmitting a digital image over a communication network

Also Published As

Publication number Publication date
WO2002015011A2 (en) 2002-02-21
JP2010061679A (ja) 2010-03-18
AU2006228047A1 (en) 2006-11-02
US8122059B2 (en) 2012-02-21
EP1309917B1 (en) 2018-01-24
JP2004506978A (ja) 2004-03-04
JP2008293530A (ja) 2008-12-04
KR20030024861A (ko) 2003-03-26
US8386531B2 (en) 2013-02-26
US7006099B2 (en) 2006-02-28
EP2698719A2 (en) 2014-02-19
EP2698719B1 (en) 2016-10-26
AU2010202800A1 (en) 2010-07-22
KR101081296B1 (ko) 2011-11-08
EP3333715B1 (en) 2019-08-07
AU8354201A (en) 2002-02-25
WO2002015011A3 (en) 2002-09-26
CA2416839A1 (en) 2002-02-21
CA2416839C (en) 2013-03-12
AU2001283542B2 (en) 2006-10-05
US20040172495A1 (en) 2004-09-02
EP3333715A1 (en) 2018-06-13
JP2009295177A (ja) 2009-12-17
KR20100132085A (ko) 2010-12-16
US20020103970A1 (en) 2002-08-01
ES2612121T3 (es) 2017-05-12
EP1309917A2 (en) 2003-05-14
US20120110035A1 (en) 2012-05-03
EP2698719A3 (en) 2014-08-20
AU2010202800B2 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
KR101021321B1 (ko) 캐시 및 저장된 객체 콤포넌트들로부터 캐시되지 않은객체를 생성하는 캐시 시스템 및 방법
AU2001283542A1 (en) Cache system and method for generating uncached objects from cached and stored object components
US8010624B2 (en) Dynamic composition for image transmission
US8237740B2 (en) Method and system for receiving a local vector object and viewing a vector image
US20040109197A1 (en) Apparatus and method for sharing digital content of an image across a communications network
JP2003303091A (ja) 画像通信装置及び画像通信方法
Vatsavai et al. Umn-mapserver: A high-performance, interoperable, and open source web mapping and geo-spatial analysis system
JP2000092424A (ja) イメ―ジサ―バ
US20160147860A1 (en) System and method for hierarchical synchronization of a dataset of image tiles
US20040047519A1 (en) Dynamic image repurposing apparatus and method
EP4084491A1 (en) Dividing an astc texture to a set of sub-images
EP3547165B1 (en) Image tile request service
Palaniappan et al. Multiresolution tiling for interactive viewing of large datasets
Misic et al. Portable Image Archiving: Annotation, Search and Data Retrieval

Legal Events

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

Payment date: 20140224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170303

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180207

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190218

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 10