KR20060080180A - 데이터 애셋들을 캐싱하는 방법 - Google Patents
데이터 애셋들을 캐싱하는 방법 Download PDFInfo
- Publication number
- KR20060080180A KR20060080180A KR1020067003353A KR20067003353A KR20060080180A KR 20060080180 A KR20060080180 A KR 20060080180A KR 1020067003353 A KR1020067003353 A KR 1020067003353A KR 20067003353 A KR20067003353 A KR 20067003353A KR 20060080180 A KR20060080180 A KR 20060080180A
- Authority
- KR
- South Korea
- Prior art keywords
- server
- assets
- user device
- cache
- data assets
- Prior art date
Links
Images
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
-
- 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/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
적어도 하나의 서버(20) 및 적어도 하나의 사용자 디바이스(50)를 포함하는 시스템(10)에서 데이터 애셋들을 캐싱하는 방법이 제공된다. 각각의 디바이스(50)는 요구된 데이터 애셋들을 저장하기 위한 복수의 캐시들(120, 130, 140)을 포함하는 캐시 장치(120, 130, 140)를 포함한다. 상기 방법은 (a) 상기 적어도 하나의 서버(20)의 제 1 메모리(30)에 저장될 하나 이상의 데이터 애셋들 및 상기 적어도 하나의 서버(20)의 제 2 메모리(40)에서 상기 하나 이상의 데이터 애셋들에 대응하는 데이터 정의를 배열하는 단계; (b) 상기 적어도 하나의 서버(20)가 상기 하나 이상의 요구된 데이터 애셋들에 대응하는 적어도 하나의 사용자 디바이스(50)로 리턴함으로써 상기 적어도 하나의 사용자 디바이스(50)로부터 하나 이상의 데이터 요구들에 응답하게 배열하는 단계를 포함한다. 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 사용자 디바이스(50)내의 상기 하나 이상의 요구된 데이터 애셋들의 저장 및 처리를 제어하기 위하여 연관된 데이터 정의들을 가진 상기 적어도 하나의 사용자 디바이스(50)에 제공되고, 상기 적어도 하나의 서버(20)는 상기 적어도 하나의 디바이스(50) 내의 캐시 장치(120, 130, 140)를 적어도 부분적으로 제어하도록 동작한다.
사용자 디바이스, 캐시 장치, 데이터 애셋, 인간 오퍼레이터, 인터페이싱 수단
Description
본 발명은 데이터 애셋들, 예를 들어 다이내믹 서버 페이지들을 캐싱하는 방법들에 관한 것이다. 게다가, 본 발명은 또한 상기 방법들에 따라 기능할 수 있는 시스템들에 관한 것이다.
상기 서버들에 접속된 하나 이상의 사용자들에게 콘텐트를 제공하기 위하여 배치된 서버들을 포함하는 시스템들은 잘 공지되어 있고, 예를 들어 인터넷과 같은 동시대 원격통신 네트워크들에서 발생한다. 하나 이상의 사용자들은 흔히 전화 링크들을 통하여 하나 이상의 서버들에 결합된 퍼스널 컴퓨터(PC)들을 구비한 개인들이다. 게다가, 하나 이상의 사용자들은 서버들로부터 소위 콘텐트를 다운로딩하여 정보를 얻을 수 있다. 상기 콘텐트의 다운로딩은 통상적으로, 하나 이상의 서버들에 하나 이상의 검색 요구들을 전송하고, 그로부터 검색 결과들을 수신한 후 상기 검색 결과들로부터 하나 이상의 서버들에 저장된 콘텐트의 하나 이상의 특정 아이템들을 선택하는 하나 이상의 사용자를 요구한다. 하나 이상의 특정 아이템들의 아이덴티티가 미리 알려진다면, 하나 이상의 사용자들은 하나 이상의 서버들로부터 직접적으로 이들 아이템들과 연관된 콘텐트를 요구할 수 있다.
콘텐트를 검색하기 위하여, 복잡한 일련의 상호작용들이 하나 이상의 사용자들과 하나 이상의 서버들 사이에서 발생한다. 예를 들어 그러한 검색 및 콘텐트의 후속 다운로딩은 종종 상당한 양의 메모리가 하나 이상의 사용자들의 계산 장치에 사용되게 한다.
발명자들은 하나 이상의 사용자들과 연관된 PC들이 메모리 용량에서 상대적으로 제한되고 그러므로 콘텐트의 다수의 다운로딩된 페이지들을 저장할 수 없을 때의 시나리오에서 실제적인 데이터 처리 문제들이 발생하는 것을 인식했다. 그러한 제한된 메모리 용량은 적당한 메모리 용량이 제공된 소형 휴대용 계산 디바이스들의 경우에 특히 적절하다.
제한된 사용자 디바이스 메모리 용량의 그러한 시나리오가 공지되었다. 예를 들어, 미국특허번호 US 6,418,544 호에서, 최소 클라이언트 풋프린트(footprint)를 사용하여 사실적인 고레벨 웹 서버 스트레스 검사를 위한 클라이언트 메타-캐시(client meta-cache)의 사용을 포함하는 방법을 기술했고; 명세서의 "풋프린트"는 이용 가능한 클라이언트 메모리 용량에 속하도록 구성된다. 따라서, 미국특허번호 US 6,418,544 호에서, 웹 서버들에서 스트레스 검사를 개선하기 위한 방법에 사용하기 위한 방법, 상기 방법을 사용하는 시스템 및 컴퓨터 판독 가능 코드가 기술된다. 상기 방법에서 클라이언트 캐시의 변경된 형태가 이용되고, 더 실제적이고 대표적인 클라이언트 요구들이 검사 과정 동안 생기는 것을 가능하게 하며, 그러한 변경된 캐시는 "메타-캐시"로서 공지되었다. 메타 캐시에 대한 정의 는, 예컨대, 일반적으로 서버에 보내진 응답으로부터 캐시될 정보의 최소 서브세트를 저장하기 위한 캐시 배열로서 이루어지고, 이 최소 서브세트는 조건적 하이퍼텍스트 전달 프로토콜(HyperText Transfer Protocol; HTTP) GET 요구들의 구성을 인에이블하는 그것이다. 상기 방법에서, 사실적으로 조건적 요구들을 시뮬레이트하기 위한 능력뿐 아니라 비조건적 요구들을 제공함으로써, 서버에 제공된 스트레스는 서버가 실제 온라인 동작에 있을 때 경험할 실제 통신 트래픽 로드를 보다 잘 나타낸다. 상기 방법은 풀 클라이언트 캐시의 오버헤드 없이 메타 캐시에 저장된 정보량을 감소시키도록 배열된다. 게다가, 상기 방법은 보다 많은 브라우저들이 제한된 메모리 용량을 가진 특정 워크스테이션으로부터 시뮬레이트되게 한다.
따라서, 미국특허번호 US 6,418,544 호로부터, 인터넷 타입 네트워크들의 환경에서, 하나 이상의 서버들 및 상기 서버들에 결합된 다수의 브라우저들을 제공하는 것은 공지되었고, 상기 브라우저들은 메타-캐시들이 제공된다.
게다가, 공개된 유럽특허출원번호 EP 1,061,458 호에서, 웹 페이지들의 캐시 감소 형태들에 대한 시스템 및 방법이 기술된다. 다양한 형태의 감소 처리들은 상기 감소된 웹 페이지들을 제공하는 방법에서 수행할 수 있다. 예를 들어, 웹 페이지들은 간단한 그래픽 화소 스크린 디스플레이들 및 제한된 메모리 용량을 구비한 이동 전화들에서 특정 작은 프린트 디바이스들을 위하여 지원되지 않거나 디스플레이할 필요가 없는 엘리먼트들을 포함할 수 있다. 상기 방법에서, 이들 엘리먼트들은 웹 페이지가 캐시되기 전에 제거되기 쉽고, 이에 따라 감소된 페이지들을 위한 캐시에서 얻어진 메모리 공간을 잠재적으로 감소시키고 따라서 대응하는 비-감소 웹 페이지들을 렌더링하고 디스플레이하는 것과 비교하여 뷰(view)에 대한 저장된 감소 페이지들을 렌더링할 때 요구된 감소된 시간의 장점을 부가적으로 제공한다. 게다가, 상기 방법은 텍스트 형태의 웹 페이지들 대신 웹 페이지들을 식별하기 위하여 사용된 분석 트리의 저장을 위해 제공된다. 게다가, 상기 유럽 특허출원은 상기 작은 풋프린트 디바이스들을 실행하기 위한 소프트웨어 애플리케이션들 및 소프트웨어 서비스들을 위한 슬렌더(slender) 억제 프레임워크의 설명을 포함한다. 슬렌더 프레임워크는 감소된 형태의 웹 페이지들을 캐싱하도록 동작하는 웹 브라우저를 구성하기 위하여 사용되기 쉽고, 슬렌더 프레임워크는 이동 전화들 및 팜-탑(palm-top) 컴퓨터들 같은 작은 풋프린트 디바이스들에 사용하기에 적당하다.
본 발명자들은 현대의 작은 풋프린트 디바이스들이 3묶음 소프트웨어 애플리케이션들을 사용하여 실행될 때 너무 많은 통신 대역폭을 요구한다는 것을 인식하였다. 게다가, 두 묶음 소프트웨어 애플리케이션들을 사용하여 실행될 때, 작은 풋프린트 디바이스들은 기능하기에 불편하게 큰 양의 메모리 용량을 요구하는 경향을 가진다. 3묶음인지 2묶음인지의 소프트웨어 애플리케이션들을 실행할 때, 본 발명자들은 연관된 네트워크 레이턴시(network latency)가 모든 상황들, 예를 들어 단순히 그래픽 이미지 정보를 제공하는 동안 스크린에서 스크린으로 스위칭할 때의 상황들에서 상기 작은 풋프린트 디바이스들을 위하여 허용되지 않는 것을 인식하였다.
본 발명자들은 상기된 미국특허 및 유럽특허 출원들에 기술된 방법들과 구별되는 메타 캐시들을 사용하는 다른 방법을 고안하였다.
본 발명의 제 1 목적은 원격 서버로부터 사용자 설비 상의 캐시를 제어하기 위한 방법을 제공하는 것이다.
본 발명의 제 2 목적은 작은 풋프린트 디바이스들과 관련하여 효과적으로 기능하도록 동작 가능한 방법을 제공하는 것이다.
본 발명의 제 1 특징에 따라, 적어도 하나의 서버 및 적어도 하나의 사용자 디바이스를 포함하는 시스템에서 데이터 애셋들을 캐싱하는 방법으로서, 각각의 디바이스는 요구된 데이터 애셋들을 저장하는 복수의 캐시들을 포함하는 캐시 장치를 포함하는, 상기 데이터 애셋들을 캐싱하는 방법에 있어서,
(a) 상기 적어도 하나의 서버의 제 1 메모리에 저장될 하나 이상의 데이터 애셋들 및 상기 적어도 하나의 서버의 제 2 메모리 내의 상기 하나 이상의 데이터 애셋들에 대응하는 데이터 정의들을 배열하는 단계; 및
(b) 대응하는 하나 이상의 요구된 데이터 애셋들을 상기 적어도 하나의 사용자 디바이스에 리턴함으로써 상기 적어도 하나의 서버가 상기 적어도 하나의 사용자 디바이스로부터 하나 이상의 데이터 요구들에 응답하도록 배열하는 단계를 포함하고,
저장을 제어하고 상기 적어도 하나의 사용자 디바이스에서 상기 하나 이상의 요구된 데이터 애셋들을 처리하기 위한 연관된 데이터 정의들을 가진 상기 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 사용자 디바이스에 제공되고, 그에 따라 상기 적어도 하나의 서버는 상기 적어도 하나의 디바이스에서 상기 캐시 장치를 적어도 부분적으로 제어하도록 동작 가능한, 데이터 애셋 캐싱 방법이 제공된다.
본 발명은 적어도 하나의 서버들로부터 사용자 디바이스 캐시의 제어를 제공할 수 있는 장점을 가진다.
상기 방법은 메모리 용량이 제한되고 및/또는 통신 대역폭이 제한된 작은 풋프린트 디바이스들에 특히 바람직하다.
바람직하게, 상기 방법에서, 각각의 사용자 디바이스에서 상기 복수의 캐시들은 요구된 애셋들 및 연관된 정의들을 저장하도록 동작 가능하다. 정의들의 포함은 상기 적어도 하나의 서버가 상기 적어도 하나의 사용자 디바이스의 캐시 장치를 제어하는 것을 가능하게 할 때 특히 바람직하고, 그에 따라 적어도 하나의 사용자 디바이스에 적당한 형태의 데이터 애셋들을 제공하고 캐시 장치의 보다 최선의 영역에 효과적으로 상기 애셋들을 저장한다.
바람직하게, 상기 방법에서, 상기 캐시 장치의 상기 복수의 캐시들은 상호 다른 시간의 지속 기간이도록 설계되고, 상기 하나 이상의 요구된 데이터 애셋들과 연관된 상기 정의들은 적당한 대응하는 상기 복수의 캐시들에 상기 하나 이상의 요구된 데이터 애셋들의 저장을 제어하기 위하여 상기 적어도 하나의 사용자 디바이스 내에서 해석할 수 있다. 캐시 장치를 상호 다른 시간적 기간 캐시들로 분할함으로써, 적어도 하나의 서버는 적어도 하나의 사용자 디바이스의 동작이 적어도 하나 이상의 효과적이고 더 작은 메모리 용량을 렌더링하도록 데이터 애셋들 및 연관된 정의들에 보다 잘 명령할 수 있다.
바람직하게, 상기 방법에서, 상기 적어도 하나의 사용자 디바이스는,
(a) 요구들을 해석하고 상기 요구들을 상기 적어도 하나의 사용자 디바이스가 대응하는 하나 이상의 요구된 데이터 애셋들을 수신하게 하는 상기 적어도 하나의 서버에 지향시키는 콘텐트 관리 수단; 및
(b) 상기 하나 이상의 요구된 데이터 애셋들과 연관된 상기 정의들에 따라 상기 콘텐트 관리 수단으로부터 수신된 상기 하나 이상의 요구된 데이터 애셋들을 적당한 상기 복수의 캐시들에 지향시키기 위한 캐시 관리 수단을 포함한다.
유익하게, 적어도 하나의 콘텐트 관리 수단 및 캐시 관리 수단은 상기 적어도 하나의 사용자 디바이스의 컴퓨팅 하드웨어에서 실행할 수 있는 하나 이상의 소프트웨어 애플리케이션들로서 실행된다.
바람직하게, 상기 방법에서, 각각의 사용자 디바이스에 대하여, 상기 복수의 캐시들은 하나 이상의 요구된 데이터 애셋들을 저장하고 추후에 미리 결정된 횟수만큼 상기 하나 이상의 요구된 애셋들을 전달하기 위하여 배열된 적어도 하나의 일단 판독 캐시(read-once cache)를 포함하고, 그 후 상기 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 일단 판독 캐시로부터 제거된다. 상기 제거는 사용자 디바이스에서 메모리 용량을 비울 수 있고, 이에 따라 제한된 메모리 용량을 구비할 때 더 효과적으로 동작하게 하고 및/또는 명백하게 큰 범위의 서버 페이지들을 제공하게 한다. 보다 바람직하게, 상기 미리 결정된 횟수는 데이터 애셋 제거 전에 단일 판독에 대응한다.
바람직하게, 각각의 사용자 디바이스는 상기 적어도 하나의 사용자 디바이스의 적어도 하나의 오퍼레이터 및 적어도 하나의 상기 콘텐트 관리 수단 및 상기 캐시 관리 수단 사이에 인터페이싱하기 위한 인터페이싱 수단을 더 포함하고, 상기 인터페이싱 수단은,
(a) 오퍼레이터로부터의 애셋 데이터 요구들을 상기 적어도 하나의 상기 콘텐트 관리 수단 및 추후 처리를 위한 상기 캐시 관리 수단에 전달하고,
(b) 상기 적어도 하나의 캐시 장치 및 상기 적어도 하나의 서버로부터 직접적으로 검색된 상기 요구된 데이터 애셋들을 상기 적어도 하나의 오퍼레이터에 렌더링하고 제공한다.
유익하게, 상기 인터페이싱 수단은 사용자 디바이스의 계산 하드웨어에서 실행할 수 있는 하나 이상의 소프트웨어 애플리케이션으로서 실행된다. 보다 바람직하게, 상기 인터페이싱 수단은 상기 적어도 하나의 오퍼레이터에 그래픽 인터페이스를 제공하도록 동작한다.
바람직하게, 상기 방법에서, 상기 콘텐트 관리 수단과 상기 캐시 관리 수단 중 적어도 하나와 결합하는 상기 인터페이싱 수단은 상기 적어도 하나의 서버로부터 상기 하나 이상의 요구된 애셋들을 탐색하기 전에 하나 이상의 요구된 애셋들에 대한 상기 캐시 장치를 검색하도록 동작할 수 있다. 상기 분할은 적어도 하나의 서버 및 적어도 하나의 사용자 디바이스 사이의 통신 대역폭 요구들이 잠재적으로 감소되는 장점을 가진다. 보다 바람직하게, 상기 방법에서, 상기 캐시 장치는 상기 하나 이상의 요구된 애셋들을 우선 검색하고 추후에 상기 적어도 하나의 서버는 상기 캐시 장치가 상기 하나 이상의 요구된 애셋들을 구비하지 않을 때를 검색한다.
바람직하게, 상기 방법에서, 캐시 장치는 시간적으로 비교적 짧은 기간들을 가진 캐시들로부터 시간적으로 비교적 긴 기간들로 점진적으로 검색된다. 상기 검색 순서는 보다 빠른 데이터 애셋 검색을 제공할 수 있다.
바람직하게, 상기 방법에서, 상기 캐시 장치는 상기 적어도 하나의 서버와 통신하기 위하여 연관된 사용자 디바이스의 초기 시작시 하나 이상의 초기 데이터 애셋들을 구비하고, 상기 하나 이상의 초기 데이터 애셋들은 상기 사용자 디바이스가 상기 적어도 하나의 서버와 통신할 때 오버라이트되기 쉽다. 상기 미리 로딩된 애셋들의 사용은 오퍼레이터에 대해 더 적당한 시작 특성들을 상기 적어도 하나의 디바이스에 제공할 수 있다.
바람직하게, 현대의 인터넷과의 호환성을 보장하기 위하여,상기 방법에서 하나 이상의 데이터 애셋들은 연관된 유니버셜 리소스 로케이터들(URL)에 의해 식별된다.
바람직하게, 상기 방법에서, 상기 시스템은 제 1, 제 2 및 제 3 단계들에 따라 동작하고,
(a) 제 1 단계는 적어도 하나의 서버의 상기 제 1 및 제 2 메모리들에 데이터 애셋 엔트리를 제공하도록 배열되고;
(b) 제 2 단계는 적어도 하나의 사용자 디바이스의 상기 캐시 장치에 적어도 하나의 서버로부터의 콘텐트를 다운로드하기 위하여 제공되고; 및
(c) 제 3 단계는 상기 적어도 하나의 사용자 디바이스의 적어도 하나의 상기 캐시 장치 및 상기 적어도 하나의 서버로부터 콘텐트 검색을 위하여 제공된다.
상기 구별되는 단계들의 사용은 상기 방법이 적어도 하나의 사용자 디바이스에서 대역폭 요구들 및/또는 메모리 용량 요구들을 보다 효과적으로 감소시키도록 기능하게 할 수 있다.
본 발명의 제 2 특징에 따라, 데이터 애셋들을 캐싱하기 위한 시스템이 제공되고, 상기 시스템은 적어도 하나의 서버 및 적어도 하나의 사용자 디바이스를 포함하고, 각각의 디바이스는 요구된 데이터 애셋들을 저장하기 위한 복수의 캐시들을 포함하고, 상기 시스템은,
(a) 상기 적어도 하나의 서버의 제 1 메모리에 하나 이상의 데이터 애셋들을 저장하고 상기 적어도 하나의 서버의 제 2 메모리에 상기 하나 이상의 데이터 애셋들에 대응하는 데이터 정의들을 저장하고;
(b) 대응하는 하나 이상의 요구된 데이터 애셋들을 상기 적어도 하나의 사용자 디바이스에 리턴함으로써 상기 적어도 하나의 서버가 상기 적어도 하나의 사용자 디바이스로부터 하나 이상의 데이터 요구들에 응답하게 배열하도록 동작하게 배열되고,
저장을 제어하고 상기 적어도 하나의 사용자 디바이스에서 상기 하나 이상의 요구된 데이터 애셋들의 처리를 위하여 연관된 데이터 정의들을 가진 상기 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 사용자 디바이스에 제공되고, 상기 적어도 하나의 서버는 상기 적어도 하나의 디바이스에서 캐시 장치를 적어도 부분적으로 제어하기 위하여 동작한다.
본 발명의 특징들이 본 발명의 범위에서 벗어나지 않고 임의의 결합으로 결합되기 쉽다는 것이 인식될 것이다.
본 발명의 실시예들은 첨부 도면들을 참조하여 예로서만 기술될 것이다.
도 1은 본 발명의 발명에 따라 동작하는 시스템의 개략도이고, 상기 시스템은 하나 이상의 작가들로부터 콘텐트를 수신하고, 서버와 통신하는 하나 이상의 사용자 디바이스들에 요구 즉시 콘텐트를 전달하기 위하여 배열된 서버를 포함한 도면.
도 2는 도 1의 서버에 콘텐트를 로드하기 위하여 도 1의 작가를 위하여 요구된 단계들(A1 내지 A2)을 개략적으로 도시한 도면.
도 3은 도 1의 서버로부터 도 1의 사용자 디바이스들중 하나에 콘텐트를 다운로드하는 것과 연관된 단계들(B1 내지 B10)을 개략적으로 도시한 도면.
도 4는 도 1에 도시된 시스템으로 콘텐트를 검색하는 도 1의 사용자 디바이스의 개략적인 다이어그램.
본 발명을 고안할 때, 발명자들은 예를 들어 인터넷에서 통신 네트워크들의 서버 사용자 상호작용들을 적어도 부분적으로 해결할 수 있는 방법을 제공하였다. 상기 방법은 사용자 디바이스들의 제공을 포함한다. 각각의 상기 디바이스는 인터페이스 스크린 콘텐트들의 엘리먼트 또는 패킷된 세트들을 다운로드하기 쉬운 대응하는 캐시들을 포함한다. 게다가, 캐시들은 인간 오퍼레이터들에 의한 하나 이상의 엔트리들이 만료할 때 연관된 인간 오퍼레이터들에 실패를 결코 리턴할 수 없다. 캐시들로부터의 엔트리들은 연관된 만료일 및 시간들에 관련한 것을 검사하지 않고 제공된다.
본 발명의 실시예들은 도 1 내지 도 4를 참조하여 기술될 것이다.
도 1에서, 10으로 일반적으로 표시된 통신 시스템이 도시된다. 시스템(10)은 데이터, 예를 들어 적어도 하나의 HTTP 데이터, 이미지 데이터, 소프트웨어 애플리케이션들 및 다른 형태의 데이터를 포함하는 데이터 오브젝트들과 통신하도록 동작한다. 게다가, 시스템(10)은 적어도 하나의 서버, 예를 들어 서버(20)를 포함한다. 서버(20)는 애셋 저장소(애셋 저장소)(30) 및 애셋 메타데이터 저장소(애셋 메타데이터 저장소)(40)를 포함한다. 그러나, 서버(20)는 도 1에 명확하게 제공되지 않은 다른 구성요소들을 부가적으로 포함하기 쉽다.
서버(20)는 하나 이상의 작가, 예를 들어 작가(80)에 인터페이싱하기 위한 피쳐들을 포함한다. 작가(20)는 예를 들어 적어도 하나의 사적 사용자, 상업적 기관, 정부 기관, 및 광고 에이전시 및 특정 관심 그룹이다. 게다가, 작가(80)는 시스템(10)에 콘텐트, 예를 들어 하나 이상의 텍스트, 이미지들, 데이터 파일들 및 소프트웨어 애플리케이션들을 제공하기를 원한다. 하나 이상의 사용자 디바이스들, 즉 USER1 내지 USER n이 있고 여기서 다수의 사용자 디바이스들은 파라미터 "n"에 의해 정의되고; 예를 들어, 연관된 인간 오퍼레이터(70)를 가진 사용자 디바이스(50)가 있다. 각각의 사용자 디바이스는 도시된 바와같은 메타캐시(60)를 포함한다. 사용자 디바이스들은 연관된 양방향 통신 링크들, 예를 들어 적어도 하나의 무선 링크들, 종래 동축 라인들 및/또는 광대역폭 광섬유 링크들에 의하여 하나 이상의 서버들, 예를 들어 서버(20)에 결합된다.
시스템(10)의 동작은 3단계, 즉:
(a) 콘텐트 제공과 연관된 제 1 단계;
(b) 콘텐트 다운로드와 연관된 제 2 단계; 및
(c) 콘텐트 검색과 연관된 제 3 단계로 분할된다.
제 1 단계는 서버들, 예를 들어 서버(20)에서 콘텐트를 정의할 때 실행된다. 게다가, 제 1 단계는 제 2 및 제 3 단계들과 다른 연관된 라이프사이클을 효과적으로 가진다.
제 2 및 제 3 단계들은 종종 독립적으로 실행된다. 그러나, 제 2 및 제 3 단계들은 결합하여 실행되기 쉽다. 예를 들어, 독립적으로 실행될 때, 제 2 단계는 전자 타이밍 기능에 의해 시작되고, 제 3 단계는 사용자 디바이스들, 예를 들어 사용자 디바이스(50)에 의해 항상 시작된다. 대조하여, 결합하여 실행될 때, 제 2 단계는 인간 오퍼레이터(70)가 사용자 디바이스(50)로부터 정보를 요구할 때 자동으로 시작되고 여기서 목표된 데이터 오브젝트, 즉 요구된 애셋은 사용자 디바이스(50)의 캐시(60)에서 이용할 수 없다.
콘텐트 제공과 연관된 제 1 단계는 도 2를 참조하여 보다 상세히 기술될 것 이다.
제 1 단계 동안, 작가(80)는 데이터 오브젝트들 형태의 이미지들, 사운드들 및 텍스트 같은 사용자 인터페이스 애셋들을 제공한다; 다른 말로, 작가(80)는 하나 이상의 데이터 오브젝트들을 제공한다. 작가(80)는 단계(A1)에서 서버(20)상에 저장될 이들 애셋들, 즉 데이터 오브젝트들을 위하여 배열한다. 각각의 애셋은 서버(20)의 애셋 저장소(30)에 저장된다. 게다가, 저장된 각각의 애셋의 하나 이상의 정의들은 단계(A2)에서 서버(20)의 애셋 매타데이터 저장소(40)에 입력된다. 서버(20)에 작가(80) 애셋의 상기 저장 동안, 각각의 애셋들과 연관된 캐싱 힌트는 메타데이터 저장소(40)에 부가적으로 정의되고 저장되며, 상기 힌트들은 서버(20)에 저장된 각각의 연관된 애셋에 대한 예상된 "유효" 시간을 고려한다. "유효" 시간은 다음과 같이 정의된다:
(a) "영속": 애셋은 근시간내에 보정되지 않는다. 대응하여, 하나 이상의 사용자들이 하나 이상의 애셋들에 액세스하기를 원할 때, 하나 이상의 사용자들은 애셋이 서버(20)에서 변화되었는지 여부를 결정하기 위하여 "느림" 속도를 사용하여 검사하도록 요구된다. 오래된 애셋, 즉 추후에 보정되고 업데이트되는 애셋의 보다 오래된 버젼에 대응하는 오브젝트 데이터를 가진 시스템(10)에서 렌더링 및 제공될 때, 즉 시스템(10)이 통신되는 애셋들의 오래된 버젼들 및 대응하는 보다 새로운 버젼들로 대체할 수 있을 때 시스템(10) 동작에서 파국적 효과를 가지지 않도록 배열된다.
(b) "휘발성" : 애셋은 시스템(10)내의 동작 조건들에 응답하여 배열된다. 시스템(10)의 사용자 디바이스들(10), 예를 들어 사용자 디바이스(50)가 서버(20)로부터 캐시(60)로 애셋들을 로드할 때, 사용자(50)는 "영속" 애셋들보다 빠르게 "휘발성" 애셋들에 속하는 항목들을 리프레시하기 위하여 요구된다; 및
(c) "일단 판독(read-once)" : 애셋은 사용자 디바이스(50)에서 사용자 디바이스, 예를 들어 인간 오퍼레이터(80)에서 일단 도시된다. 상기 "일단 판독" 애셋들은 예를 들어 에러 메시지들 및 다른 유사한 일시적 정보를 제공하는 것에 특히 적당하다.
상호 다른 정의들을 가진 애셋들은 시스템에서 하나 이상의 보관 파일들에 함께 패키지되게 한다. 비록, 사용자의 전망으로부터, 상기 보관 파일들이 분리된 개별 애셋으로서 나타날지라도, 상기 파일들은 캐시 저장 측면에서 단일 엔티티이다.
따라서, 제 1 단계는 작가들로부터 서버들로 에셋 엔트리에 대응하고, 상기 엔트리는 단계(A1)의 애셋 저장소들(30)내에 데이터 콘텐트를 입력하고 단계(A2)에서 애셋 메타데이터 저장소들(40)에 캐싱 힌트들 및 "유효" 시간을 입력하는 것을 포함한다.
제 2 단계는 콘텐트 다운로드와 연관되고 도 3을 참조하여 기술될 것이다.
도 3에서, 애셋들이 하나 이상의 서버들, 예를 들어 서버(20)로부터 하나 이상의 사용자 디바이스들, 예를 들어 사용자 디바이스(50) 및 연관된 인간 오퍼레이터(70)에 전달되는 방식의 3개의 예들을 도시한다.
각각의 사용자 디바이스(50)와 연관된 캐시(60)는 영속 캐시(120), 휘발성 캐시(130) 및 일단 판독 캐시(140)로 분할된다. 게다가, 각각의 사용자 디바이스(50)는 도시된 바와같이 콘텐트 관리자 소프트웨어 애플리케이션(콘텐트 관리)(100) 및 캐시 관리 소프트웨어 애플리케이션(캐시 관리)(110)을 실행하기 위하여 충분한 메모리 및 연관된 계산 전력을 가진다.
제 1 실시예에서, 사용자 디바이스(50)는 단계(B1)의 서버(20)로부터 애셋 정보를 얻고; 즉, 사용자 디바이스(50)의 콘텐트 관리자(100)는 예를 들어 서버(20)의 애셋 메타데이터 저장소(40)에 정보 요구를 보내기 위하여 인간 오퍼레이터(70)로부터 요구의 수신에 응답하여 동작한다. 사용자 디바이스(50)는 상기 요구에 응답하여 하나 이상의 애셋들에 관한 정보를 수신한다. 단계(B1)는 필요할 때, 예를 들어 사용자 디바이스(50)의 전자 타이머 또는 인간 오퍼레이터(70)에 의한 로그인이 단계(B1)를 실행시키고 및/또는 시스템(10)내에서 재실행시킬 때 사용자 디바이스(50)에 의하여 한번 이상 반복된다. 발명자들에 의해 실제로 실행된 시스템(10)은 현대의 HTTP 메시지 프로토콜, 예를 들어 SOAP 메시지를 사용한다. 단계(B1)에서, 서버(20)의 서버 메타데이터 저장소(40)로부터의 정보는 만약 요구되면 정보 요구를 수신한 서버(20)에 응답하여 실질적으로 즉각적으로 대신 추후에 사용자 디바이스(50)로 통과되고; 예를 들어 상기 추후 경우는 단계들(B2, B5 및 B8)에 대응한다. 다음 단계(B2)에서 애셋은 단계(B3)에서 추후에 애셋 및 그의 힌트를 캐시 관리자(110)로 통과시키는 콘텐트 관리자(100)에 연관된 캐싱 힌트와 함께 통과된다. 캐시 관리자(110)는 힌트를 해석하고 영속 캐시(120)에서 애셋 및 그 힌트를 저장하기 위하여 단계(B4)에서 선택하도록 동작한다.
제 2 실시예에서, 사용자 디바이스(50)는 단계(B1)에서 서버(20)로부터 애셋 정보를 얻는다; 즉, 사용자(50)의 콘텐트 관리자(100)는 서버(20)의 애셋 메타데이터 저장소(40)에 정보 요구를 전송하기 위하여, 인간 오퍼레이터(70)로부터 요구 수신에 응답하여 동작한다. 사용자 디바이스(50)는 요구에 응답하여 하나 이상의 애셋들에 관한 정보를 수신한다. 단계(B1)는 필요할 때 사용자 디바이스(50)에 의해 한번 이상 반복된다. 다음, 단계(B6)에서, 애셋은 애셋 및 그 힌트를 캐시 관리자(110)에 통과시키는 콘텐트 관리자(100)에 연관된 캐싱 힌트와 함께 통과된다. 캐시 관리자(110)는 힌트를 해석하고 휘발성 캐시(130)에서 애셋 및 그 힌트를 저장하기 위하여 선택하도록 동작한다.
제 3 실시예에서, 사용자 디바이스(50)는 단계(B1)에서 서버(20)로부터 애셋 정보를 얻는다; 즉, 사용자(50)의 콘텐트 관리자(100)는 서버(20)의 애셋 메타데이터 저장소(40)에 정보 요구를 전송하기 위하여, 인간 오퍼레이터(70)로부터 요구 수신에 응답하여 동작한다. 사용자 디바이스(50)는 요구에 응답하여 하나 이상의 애셋들에 관한 정보를 수신한다. 단계(B1)는 필요할 때 사용자 디바이스(50)에 의해 한번 이상 반복된다. 다음, 단계(B9)에서, 애셋은 애셋 및 그 힌트를 캐시 관리자(110)에 통과시키는 콘텐트 관리자(100)에 연관된 캐싱 힌트와 함께 통과된다. 캐시 관리자(110)는 힌트를 해석하고 휘발성 캐시(140)에서 애셋 및 그 힌트를 저장하기 위하여 선택하도록 동작한다.
따라서, 캐시 관리자(110)는 수신된 힌트의 성질에 따라 3개의 캐시들(120, 130, 140)중 하나에 애셋 및 연관된 힌트를 저장하도록 동작한다.
상기된 제 3 단계는 콘텐트 검색과 관련되고 도 4를 참조하여 기술될 것이다.
도 4에서, 사용자(50)는 사용자 인터페이스(200)를 부가적으로 포함하도록 도시된다. 인터페이스(200)는 적어도 하나의 하드웨어 및 적어도 하나의 소프트웨어 애플리케이션에서 사용자 디바이스(50)의 계산 하드웨어로 바람직하게 실행된다. 사용자 인터페이스(200)는 캐시 관리자(110)와 인터페이스하도록 동작하여 적당할 때 하나 이상의 캐시들(120, 130, 140)로부터 콘텐트를 검색한다.
캐시들(120, 130, 140)내에 캐시된 애셋들은 주로 처리된다, 예를 들어 사용자 인터페이스(200)에서 인간 오퍼레이터(70)에 디스플레이하기 위하여 렌더링된다. 그러나, 캐시들(120, 130, 140) 내의 애셋들은 사용자 디바이스(50) 어디에서든 사용자 디바이스(50)를 실행하는 다른 소프트웨어 애플리케이션들에 대한 입력 데이터로서 사용된다.
도 4에서, 정보 페이지를 요구하는 오퍼레이터(70)가 도시된다. 단계(C1)에서, 오퍼레이터(70)는 적당한 그래픽 심볼을 통해 마우스형 아이콘을 사용자 디바이스(50)의 스크린상에서 이동하고 사용자 디바이스(50)의 오퍼레이터 액세스 가능 영역상에서 엔터 키를 누름으로써, 사용자 인터페이스(200)에 페이지 요구를 전송한다. 사용자 인터페이스(200)는 단계(C2)에서 페이지가 저장되고, 정보가 저장된 캐시들(120, 130, 140)이 사용자 인터페이스(200)에서 페이지를 구성하도록 요구되는지를 식별하기 위하여 캐시 관리자(110)와 통신한다. 단계(C2)에서 검색은 비록 다른 구문론이 부가적으로 또는 선택적으로 사용되지만 표준 유니버셜 리소스 로케 이터(URL)을 바탕으로 하고; 상기 URL의 사용은 서버(20)로부터가 아닌 사용자 디바이스(50)의 캐시들(120, 130, 140)로부터 콘텐트를 검색하는 것을 바탕으로 한다. 캐시 관리자(110)는 캐시들(120, 130, 140)을 검색하고, 상기 캐시들은 오퍼레이터(70)에 응답하여 애셋들을 요구하고, 예를 들어 단계(C3)에서 휘발성 캐시(130)로부터 요구된 애셋을 얻기 위하여 진행한다. 단계(C4)에서, 휘발성 캐시(130)는 캐시 관리자(110), 예를 들어 URI에 리턴시 요구된 애셋에 대한 기준을 보낸다. 추후에, 단계(C5)에서, 캐시 관리자(110)는 사용자 인터페이스(200)에 요구된 애셋을 보낸다. 인터페이스(200)는 요구된 애셋을 조종 및 렌더링하고 단계(C6)에서 오퍼레이터(70)에 요구된 애셋을 제공하도록 동작한다.
단계(C7 내지 C13)는 유사한 애셋 검색 처리를 나타내고 페이지는 일단 판독 캐시(140)로부터 검색된다. 따라서, 단계(C7)에서, 오퍼레이터(70)는 예를 들어 적당한 그래픽 심볼을 통하여 마우스형 아이콘을 사용자 인터페이스(50)상에 이동시키고 그 다음 사용자 인터페이스(50)의 오퍼레이터 액세스 가능 영역상에 제공한 엔터 키를 누름으로써, 사용자 인터페이스(200)에 페이지에 대한 요구를 보낸다. 사용자 인터페이스(200)는 단계(C8)에서 페이지가 저장되거나, 정보가 저장된 캐시들(120, 130, 140)이 사용자 인터페이스(200)에서 페이지를 구성하도록 요구되는지를 식별하기 위하여 캐시 관리자(110)와 통신한다. 단계(C8)에서 검색은 비록 다른 구문론이 부가적으로 또는 선택적으로 사용되지만 표준 유니버셜 리소스 로케이터(URL) 구문론을 바탕으로 하고; URL의 사용은 서버(20)가 아닌 사용자 디바이스(50)의 캐시들(120, 130, 140)로부터 콘텐트를 검색하는 것을 바탕으로 한다. 캐 시 관리자(110)는 캐시들(120, 130, 140)을 검색하고, 상기 캐시들은 오퍼레이터(70)에 응답하여 애셋을 요구하고, 예를 들어 단계(C9)에서 일단 판독 캐시(140)로부터 요구된 애셋을 얻기 위하여 진행한다. 단계(C10)에서, 일단 판독 캐시(140)는 캐시 관리자(110), 예를 들어 URL에 리턴시 요구된 애셋에 대한 기준을 보낸다. 게다가, 단계(C11)에서, 일단 판독 캐시(140)는 일단 페이지에 대응하는 데이터 애셋이 일단 판독 캐시(140)로부터 캐시 관리자를 통하여 사용자 인터페이스(200)에 특정 페이지를 삭제하기 위하여 캐시 관리자(110)와 결합하여 동작한다. 추후에, 단계(C12)에서, 캐시 관리자(110)는 사용자 인터페이스(200)에 요구된 애셋을 보낸다. 인터페이스(200)는 요구된 애셋을 조종 및 렌더링하도록 동작하고 그 다음 단계(C13)에서 오퍼레이터(70)에 요구된 애셋을 제공한다.
만약 요구되면, 단계(C11)는 단계(C12)후 실행될 수 있다.
단계(C11)는 일단 판독 캐시(140)의 데이터 콘텐트가 가능한한 작게 유지되도록 캐시 관리자(110)에 의하여 검색된 데이터 애셋이 즉각적으로 삭제되는 장점이 있다. 단계(C11)로 인해, 이전에 액세스 되었던 일단 판독 캐시(140)의 애셋을 다시 액세스하기 위한 시도는 애셋이 배치되지 않게 한다.
바람직하게, 인간 오퍼레이터(70)에 의해 정의된 목표된 애셋을 검색할 때, 캐시 관리자(110)는 목표된 애셋의 예상 수명에 대응하는 차수를 캐시들(120, 130, 140)내에서 검색하도록 동작하고; 상기 결과들을 검색하는 방법은 잠재적으로 목표된 애셋을 보다 빠르게 검색하게 한다. 예를 들어, 일단 판독 캐시(140)는 검색되고, 그 다음 휘발성 캐시(13)에 의해 검색되고, 그 다음 영속 캐시(120)에 의해 검 색되고; 목표된 애셋이 배치될 때, 캐시들(120, 130, 140)에서 애셋의 검색은 종료된다. 목표된 애셋은 바람직하게 URL 또는 유사한 라벨에 의해 정의된다.
캐시 관리자(110)가 캐시들(120, 130, 140) 내에 목표된 애셋을 배치할 수 없는 경우, 캐시 관리자(110)는 사용자 인터페이스(200)에 실패 메시지를 리턴하도록 동작한다. 실패 메시지의 상기 리턴은 예를 들어 서버(20) 및/또는 하나 이상의 캐시들(120, 130, 140)로부터 다른 애셋을 검색함으로써 실행된다. 상기 실패 메시지에 대응하는 URL은 바람직하게 미리 정의된다.
시스템(10)은 사용자 디바이스들, 예를 들어 사용자 디바이스(50)의 하나 이상의 캐시들(120, 130, 140)로부터 특정 애셋들의 사전 로딩이 사용자 디바이스 시작 동안 발생하도록 실행될 수 있다. 상기 사전 로딩은 서버들, 예를 들어 서버(20)과의 임의의 접촉 전에 애셋들을 다운로드하기 위하여 필요한 애셋들에 응용할 수 있다. 게다가, 시스템(10)은 하나 이상의 서버들과의 통신이 달성되면 바람직하게 미리 로딩된 애셋들이 오버라이트되도록 배열된다.
상기된 본 발명의 실시예들이 본 발명의 범위에서 벗어나지 않고 변형될 수 있는 것이 인식될 것이다.
사용자(50) 및 작가(80)는 애셋들을 형성하기 위하여 공동으로 동작할 수 있다. 예를 들어, 작가(80)에 의해 제공된 템플렛들은 서버(20)가 사용자(50)에 대한 개별화된 애셋들을 생성하게 하도록 사용자(50)에 의해 제출된 데이터와 합병될 수 있다. 상기 개별화된 애셋들은 본 발명의 방법에 따라 캐시된다. 바람직하게, 서버(20)는 개별화된 애셋들을 일단 생성하도록 요구된다.
게다가, "컴프라이즈", "인클루드", "컨테인", "인코포레이트", "해브", "이즈" 같은 표현은 본 발명이 비 배타적으로 구성된 것을 기술하고 및/또는 청구하는데 사용되고, 즉, 상기 표현들은 정확하게 지정되지 않은 다른 구성요소들 또는 아이템들이 있도록 구성된다. 게다가, 단수에 대한 기준은 다수에 대한 기준이 있는 것으로 구성되고 그 반대도 가능하다.
Claims (15)
- 적어도 하나의 서버(20) 및 적어도 하나의 사용자 디바이스(50)를 포함하는 시스템(10)에서 데이터 애셋들을 캐싱하는 방법으로서, 각각의 디바이스(50)는 요구된 데이터 애셋들을 저장하는 복수의 캐시들(120, 130, 140)을 포함하는 캐시 장치(120, 130, 140)를 구비하는, 상기 데이터 애셋들을 캐싱하는 방법에 있어서,(a) 상기 적어도 하나의 서버(20)의 제 1 메모리에 저장될 하나 이상의 데이터 애셋들 및 상기 적어도 하나의 서버(20)의 제 2 메모리 내의 상기 하나 이상의 데이터 애셋들에 대응하는 데이터 정의들을 배열하는 단계; 및(b) 대응하는 하나 이상의 요구된 데이터 애셋들을 상기 적어도 하나의 사용자 디바이스(50)에 리턴(return)함으로써 상기 적어도 하나의 서버(20)가 상기 적어도 하나의 사용자 디바이스(50)로부터 하나 이상의 데이터 요구들에 응답하도록 배열하는 단계를 포함하고,상기 적어도 하나의 사용자 디바이스(50)에서 상기 하나 이상의 요구된 데이터 애셋들의 처리와 저장을 위하여, 관련 데이터 정의들과 함께 상기 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 사용자 디바이스(50)에 제공되고, 그에 따라 상기 적어도 하나의 서버(20)는 상기 적어도 하나의 디바이스(50)에서 상기 캐시 장치(120, 130, 140)를 적어도 부분적으로 제어하도록 동작 가능한, 데이터 애셋 캐싱 방법.
- 제 1 항에 있어서,각각의 사용자 디바이스(50)에서 상기 복수의 캐시들(120, 130, 140)은 요구된 애셋들 및 연관된 정의들을 저장하도록 동작 가능한, 데이터 애셋 캐싱 방법.
- 제 1 항에 있어서,상기 캐시 장치(120, 130, 140)의 상기 복수의 캐시들(120, 130, 140)은 상호 다른 시간의 지속 기간이도록 설계되고, 상기 하나 이상의 요구된 데이터 애셋들과 연관된 상기 정의들은 적당한 대응하는 상기 복수의 캐시들(120, 130, 140)에 상기 하나 이상의 요구된 데이터 애셋들의 저장을 제어하기 위하여 상기 적어도 하나의 사용자 디바이스(50) 내에서 해석할 수 있는, 데이터 애셋 캐싱 방법.
- 제 1 항에 있어서,상기 적어도 하나의 사용자 디바이스(50)는,(a) 요구들을 해석하고, 상기 요구들을 상기 적어도 하나의 사용자 디바이스(50)가 대응하는 하나 이상의 요구된 데이터 애셋들을 수신하도록 상기 적어도 하나의 서버(20)에 지향시키는 콘텐트 관리 수단(100); 및(b) 상기 하나 이상의 요구된 데이터 애셋들과 연관된 상기 정의들에 따라 상기 콘텐트 관리 수단(110)으로부터 수신된 상기 하나 이상의 요구된 데이터 애셋들을 적당한 상기 복수의 캐시들(120, 130, 140)에 지향시키기 위한 캐시 관리 수단(110)을 포함하는, 데이터 애셋 캐싱 방법.
- 제 1 항에 있어서,각각의 사용자 디바이스(50)에 대하여, 상기 복수의 캐시들(120, 130, 140)은 하나 이상의 요구된 데이터 애셋들을 저장하고 추후에 미리 결정된 횟수만큼 상기 하나 이상의 요구된 애셋들을 전달하기 위하여 배열된 적어도 하나의 일단 판독 캐시(140)를 포함하고, 그 후 상기 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 일단 판독 캐시(140)로부터 제거되는, 데이터 애셋 캐싱 방법.
- 제 5 항에 있어서,상기 미리 결정된 횟수는 데이터 애셋 제거 전에 단일 판독에 대응하는, 데이터 애셋 캐싱 방법.
- 제 4 항에 있어서,각각의 사용자 디바이스(50)는 상기 적어도 하나의 사용자 디바이스(50)의 적어도 하나의 오퍼레이터(70) 및 적어도 하나의 상기 콘텐트 관리 수단(100) 및 상기 캐시 관리 수단(110) 사이에 인터페이싱하기 위한 인터페이싱 수단(200)을 더 포함하고, 상기 인터페이싱 수단(200)은,(a) 상기 오퍼레이터(70)로부터의 애셋 데이터 요구들을 상기 적어도 하나의 상기 콘텐트 관리 수단(100) 및 추후 처리를 위한 상기 캐시 관리 수단(110)에 전달하고,(b) 상기 적어도 하나의 캐시 장치(120, 130, 140) 및 상기 적어도 하나의 서버(20)로부터 직접적으로 검색된 상기 요구된 데이터 애셋들을 상기 적어도 하나의 오퍼레이터(70)에 렌더링하고 제공하는, 데이터 애셋 캐싱 방법.
- 제 7 항에 있어서,상기 인터페이싱 수단(200)은 상기 적어도 하나의 오퍼레이터(70)에 그래픽 인터페이스를 제공하도록 동작 가능한, 데이터 애셋 캐싱 방법.
- 제 7 항에 있어서,적어도 하나의 상기 콘텐트 관리 수단(100) 및 상기 캐시 관리 수단(110)과 결합하는 상기 인터페이싱 수단(200)은 상기 적어도 하나의 서버(20)로부터 하나 이상의 요구된 애셋들을 검색하기 전에 하나 이상의 요구된 애셋들에 대한 상기 캐시 장치(120, 130, 140)를 검색하도록 동작 가능한, 데이터 애셋 캐싱 방법.
- 제 9 항에 있어서,상기 캐시 장치(120, 130, 140)는 상기 하나 이상의 요구된 애셋들을 검색하고 추후에 상기 적어도 하나의 서버(20)는 상기 캐시 장치(120, 130, 140)이 상기 하나 이상의 요구된 애셋들을 가지지 않을 때 검색되는, 데이터 애셋 캐싱 방법.
- 제 9 항에 있어서,상기 캐시 장치(120, 130, 140)는 시간적으로 비교적 짧은 기간들(140)을 가진 캐시들에서 시간적으로 비교적 긴 기간들(120)을 가진 캐시들로 점진적으로 검색되는, 데이터 애셋 캐싱 방법.
- 제 1 항에 있어서,상기 캐시 장치(120, 130, 140)는 상기 적어도 하나의 서버(20)와 통신하기 위하여 연관된 사용자 디바이스(50)의 초기 시작시 하나 이상의 초기 데이터 애셋들로 미리 로딩되고, 상기 하나 이상의 초기 데이터 애셋들은 상기 사용자 디바이스(50)가 상기 적어도 하나의 서버(20)와 통신할 때 오버라이트되는, 데이터 애셋 캐싱 방법.
- 제 1 항에 있어서,상기 하나 이상의 데이터 애셋들은 연관된 유니버셜 리소스 로케이터들(URL)에 의해 식별되는, 데이터 애셋 캐싱 방법.
- 제 1 항 내지 제 13 항 중 어느 한 항에 있어서,상기 시스템(10)은 제 1, 제 2 및 제 3 단계들에 따라 동작 가능하고,(a) 상기 제 1 단계는 적어도 하나의 서버(20)의 제 1 및 제 2 메모리들(30, 40)에 데이터 애셋 엔트리를 제공하도록 배열되고,(b) 상기 제 2 단계는 상기 적어도 하나의 서버(20)로부터 적어도 하나의 사 용자 디바이스(50)의 상기 캐시 장치(120, 130, 140)로 콘텐트 다운로드를 제공하도록 배열되고,(c) 상기 제 3 단계는 상기 적어도 하나의 사용자 디바이스(50)의 상기 적어도 하나의 캐시 장치(120, 130, 140) 및 상기 적어도 하나의 서버(20)로부터 콘텐트 검색을 제공하도록 배열되는, 데이터 애셋 캐싱 방법.
- 데이터 애셋들을 캐싱하는 시스템(10)으로서, 적어도 하나의 서버(20) 및 적어도 하나의 사용자 디바이스(50)를 포함하고, 각각의 디바이스(50)는 요구된 데이터 애셋들을 저장하기 위한 복수의 캐시들(120, 130, 140)을 포함하는 캐시 장치(120, 130, 140)를 포함하는, 상기 데이터 애셋들을 캐싱하는 시스템(10)에 있어서,(a) 상기 적어도 하나의 서버(20)의 제 1 메모리에 하나 이상의 데이터 애셋들을 저장하고 상기 적어도 하나의 서버(20)의 제 2 메모리에 상기 하나 이상의 데이터 애셋들에 대응하는 데이터 정의들을 저장하고,(b) 대응하는 하나 이상의 요구된 데이터 애셋들을 상기 적어도 하나의 사용자 디바이스(50)에 리턴함으로써 상기 적어도 하나의 서버(20)가 상기 적어도 하나의 사용자 디바이스(50)로부터 하나 이상의 데이터 요구들에 응답하도록 배열하기 위해 동작 가능하게 배열되고,상기 적어도 하나의 사용자 디바이스(50)에서 상기 하나 이상의 요구된 데이터 애셋들의 처리와 저장을 위하여, 관련 데이터 정의들과 함께 상기 하나 이상의 요구된 데이터 애셋들은 상기 적어도 하나의 사용자 디바이스(50)에 제공되고, 그에 따라 상기 적어도 하나의 서버(20)는 상기 적어도 하나의 디바이스(50)에서 상기 캐시 장치(120, 130, 140)를 적어도 부분적으로 제어하도록 동작 가능한, 데이터 애셋 캐싱 시스템(10).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03102592 | 2003-08-19 | ||
EP03102592.7 | 2003-08-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060080180A true KR20060080180A (ko) | 2006-07-07 |
Family
ID=34178584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067003353A KR20060080180A (ko) | 2003-08-19 | 2004-08-05 | 데이터 애셋들을 캐싱하는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080168229A1 (ko) |
EP (1) | EP1658570A1 (ko) |
JP (1) | JP2007503041A (ko) |
KR (1) | KR20060080180A (ko) |
CN (1) | CN1836237A (ko) |
WO (1) | WO2005017775A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8932233B2 (en) | 2004-05-21 | 2015-01-13 | Devicor Medical Products, Inc. | MRI biopsy device |
US9638770B2 (en) | 2004-05-21 | 2017-05-02 | Devicor Medical Products, Inc. | MRI biopsy apparatus incorporating an imageable penetrating portion |
US7708751B2 (en) | 2004-05-21 | 2010-05-04 | Ethicon Endo-Surgery, Inc. | MRI biopsy device |
US8510449B1 (en) * | 2005-04-29 | 2013-08-13 | Netapp, Inc. | Caching of data requests in session-based environment |
US7676475B2 (en) * | 2006-06-22 | 2010-03-09 | Sun Microsystems, Inc. | System and method for efficient meta-data driven instrumentation |
US8032923B1 (en) | 2006-06-30 | 2011-10-04 | Trend Micro Incorporated | Cache techniques for URL rating |
US8745341B2 (en) * | 2008-01-15 | 2014-06-03 | Red Hat, Inc. | Web server cache pre-fetching |
US20110119330A1 (en) * | 2009-11-13 | 2011-05-19 | Microsoft Corporation | Selective content loading based on complexity |
TWI465948B (zh) * | 2012-05-25 | 2014-12-21 | Gemtek Technology Co Ltd | 前置瀏覽及瀏覽資料客製化的方法及其數位媒體裝置 |
US10320757B1 (en) * | 2014-06-06 | 2019-06-11 | Amazon Technologies, Inc. | Bounded access to critical data |
US20170068570A1 (en) * | 2015-09-08 | 2017-03-09 | Apple Inc. | System for managing asset manager lifetimes |
CN108153794B (zh) * | 2016-12-02 | 2022-06-07 | 阿里巴巴集团控股有限公司 | 页面缓存数据刷新方法、装置及系统 |
US11227591B1 (en) | 2019-06-04 | 2022-01-18 | Amazon Technologies, Inc. | Controlled access to data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5754888A (en) * | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
US6098064A (en) * | 1998-05-22 | 2000-08-01 | Xerox Corporation | Prefetching and caching documents according to probability ranked need S list |
US6233606B1 (en) * | 1998-12-01 | 2001-05-15 | Microsoft Corporation | Automatic cache synchronization |
US6484240B1 (en) * | 1999-07-30 | 2002-11-19 | Sun Microsystems, Inc. | Mechanism for reordering transactions in computer systems with snoop-based cache consistency protocols |
US6415368B1 (en) * | 1999-12-22 | 2002-07-02 | Xerox Corporation | System and method for caching |
EP1182589A3 (en) * | 2000-08-17 | 2002-07-24 | International Business Machines Corporation | Provision of electronic documents from cached portions |
EP1318461A1 (en) * | 2001-12-07 | 2003-06-11 | Sap Ag | Method and computer system for refreshing client-data |
-
2004
- 2004-08-05 JP JP2006523721A patent/JP2007503041A/ja not_active Withdrawn
- 2004-08-05 US US10/568,372 patent/US20080168229A1/en not_active Abandoned
- 2004-08-05 KR KR1020067003353A patent/KR20060080180A/ko not_active Application Discontinuation
- 2004-08-05 WO PCT/IB2004/051398 patent/WO2005017775A1/en not_active Application Discontinuation
- 2004-08-05 CN CNA2004800236856A patent/CN1836237A/zh active Pending
- 2004-08-05 EP EP04744744A patent/EP1658570A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
WO2005017775A1 (en) | 2005-02-24 |
EP1658570A1 (en) | 2006-05-24 |
CN1836237A (zh) | 2006-09-20 |
JP2007503041A (ja) | 2007-02-15 |
US20080168229A1 (en) | 2008-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2011101576A4 (en) | Method and systems for generating and displaying a preview image of a content area | |
US9361345B2 (en) | Method and system for automated analysis and transformation of web pages | |
US9626343B2 (en) | Caching pagelets of structured documents | |
JP6091579B2 (ja) | ウェブページのネストしたフラグメントキャッシングを処理する方法および装置 | |
WO2020199751A1 (zh) | 用于加载页面图片的方法、装置和电子设备 | |
KR100881668B1 (ko) | 웹 페이지 프리페치 장치 및 방법 | |
US8527862B2 (en) | Methods for making ajax web applications bookmarkable and crawlable and devices thereof | |
US20060129635A1 (en) | Method of displaying data of a client computer | |
CN1234086C (zh) | 用于高速缓存文件信息的系统和方法 | |
US7987243B2 (en) | Method for media discovery | |
CA2640025A1 (en) | Methods and devices for post processing rendered web pages and handling requests of post processed web pages | |
CN101147145A (zh) | 基于嵌入式web的管理方法 | |
KR20090125108A (ko) | 사용자 정황 기반으로 콘텐츠를 프리로딩하기 위한 시스템 및 방법 | |
WO2001055897A1 (en) | Method and apparatus for processing web documents | |
KR20060080180A (ko) | 데이터 애셋들을 캐싱하는 방법 | |
AU2014223495A1 (en) | Caching pagelets of structured documents | |
US20170147543A1 (en) | Enabling legacy web applications for mobile devices | |
CN111988405A (zh) | 负载均衡装置的报文重写方法及负载均衡装置 | |
US7240126B1 (en) | Method and system for parsing for use in a server and web browser | |
CN117112940A (zh) | 一种离线数据显示方法、装置、电子设备及可读存储介质 | |
KR20100126147A (ko) | 키워드를 이용한 광고 방법 | |
CN115859333A (zh) | 文件传输加密方法、装置、设备及可读存储介质 | |
CN117520629A (zh) | 一种基于服务器端渲染网页技术的seo方案及相关装置 | |
KR20030002456A (ko) | 주식관련정보의 제공방법 | |
JP2001290721A (ja) | データ管理装置、データ管理方法、及びデータ管理プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |